自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 leetcode148. 排序链表

重点注意以下指针的初始化赋值,非常重要for(int i=1; i<len ;i<<=1){auto cur = res.next; //这里必须这样赋值,不可赋值=head,因为head是指向一个固定的结点块,这个块的位置随着归并不断进行变化;而该函数重点就是每次for循环初试都是用res.next赋值,在上一次进行归并的基础上继续归并auto tail = &res; //这里是直接引用reswhile(cur){auto left=cur;auto righ

2020-06-25 00:34:12 76

原创 LeetCode 206 反转链表

递归调用函数本身,简单粗暴 需要栈 ,写代码时注意点在于找到递归停止条件迭代方法类似于for循环解决,比递归更为底层,需要人为的实现细节算法...

2020-01-09 23:23:36 86

原创 leetcode 160 相交链表

注意的地方:不是判断.val相等,而是要看表的地址是否相等, 还要注意相交结点的值不能为0.

2020-01-09 21:09:25 83

原创 leetcode 169 求众数

Boyer-Moore 投票算法 神奇的思路

2019-09-09 21:48:45 68

原创 leetcode 128 最长连续序列

技巧1: 哈希搜索技巧2:只对 当前数字不在哈希表里的数字,作为连续序列的第一个数字去找对应的最长序列,这是因为其他数字一定已经出现在了某个序列里技巧3:C++...

2019-09-06 20:37:18 75

原创 leetcode 124 二叉树最大路径

技巧1:结点有可能是负值,最大和肯定就要想办法舍弃负值(max(0, x))技巧2:如果是不联络父结点的情况是没法递归的,但结果有可能是全局最大路径和,因此设置全局变量max_sum,在递归函数中每次计算一个新路径长度newpath,与max_sum进行比较更新...

2019-09-06 16:33:13 66

原创 leetcode 64最小路径和

1.采用自底向上的递归2.python二维数组初始化注意!!!dp=[[0]*n]*m 是浅拷贝 也就是说每行都是相同的dp=[[0]*n for _ in range(m)] 是真正的二维数组定义

2019-07-25 11:40:34 62

原创 leetcode 33搜索选择排序数组

除了利用相邻两个数之间的大小关系,还要利用边界点信息,当前点的大小要和nums[1],nums[-1]比较

2019-07-23 14:17:33 133

原创 leetcode方法思路(不断更新)

回溯剪枝二分法O(logn)动态规划双指针栈

2019-07-22 14:44:44 83

原创 leetcode 32 最长有效括号

动态规划1.准确定义dp[i]代表的含义:是以S[i]为结尾的最长有效括号字串2.初始化:因为有效子串不可能以’(‘为结尾,所以初始化所以dp[i]=0,在遍历s[i]!=’('重新进行赋值3.状态转移方程:本题状态转移有两种条件。...

2019-07-22 14:32:49 74

原创 leetcode 70 爬楼梯

递归方法优点:1. 代码简洁;2. 在树的前序,中序,后序的遍历算法中,递归的实现比循环简单很多。缺点:时间空间的开销都比较大(容易超时)会产生重复计算...

2019-07-11 16:07:38 70

原创 19 链表删除倒数节点

方法:快慢指针因为p.next=p.next.next所以在head前再加一个块,防止p.next为空的情况python中 链表结构定义class ListNode:def init(self, x):self.val = xself.next = None...

2019-06-25 14:03:53 47

翻译 5 最长回文子串

1.动态规划方法,找状态转移方程2.中心扩散法,从回文串对称点向外扩散https://leetcode-cn.com/problems/longest-palindromic-substring/solution/zhong-xin-kuo-san-dong-tai-gui-hua-by-liweiwei1419/...

2019-06-24 16:16:15 54

转载 3 滑动窗口方法

2019-06-24 12:02:06 647

转载 13 罗马数字转整数

python自带的sum函数的参数,必须是可以迭代的变量e.g. sum(d.get(s[max(i-1, 0):i+1], d[n]) for i, n in enumerate(s))2.考虑字典中 IV的值不设成4而是3,因为d[i-1]的值要加1def romanToInt(self, s: str) -> int:d = {‘I’:1, ‘IV’:3, ‘V’:5, ‘I...

2019-06-21 09:49:49 130

转载 17 电话号码的字母组合

用python字典 使数字与字母的对应关系更简单

2019-06-19 10:44:49 59

原创 18 四数之和

参考三数之和两个for循环固定前两个数字,两个指针搜索后两个数字

2019-06-12 13:28:30 77

转载 15 三数之和

转自 leetcode https://leetcode-cn.com/problems/3sum/comments/class Solution:def threeSum(self, nums):length = len(nums)if length <=2:return []nums.sort()res = []for i in range(0,length-2):if...

2019-06-11 20:08:03 65

转载 判断溢出的正确方法

转自于https://leetcode-cn.com/problems/reverse-integer/solution/zheng-shu-fan-zhuan-by-leetcode/

2019-06-10 16:08:00 1834

原创 Leetcode 11盛水容器

双指针法这种方法背后的思路在于,两线段之间形成的区域总是会受到其中较短那条长度的限制。此外,两线段距离越远,得到的面积就越大。我们在由线段长度构成的数组中使用两个指针,一个放在开始,一个置于末尾。 此外,我们会使用变量 maxarea 来持续存储到目前为止所获得的最大面积。 在每一步中,我们会找出指针所指向的两条线段形成的区域,更新 axarea,并将指向较短线段的指针向较长线段那端移动一步。...

2019-06-06 10:41:11 96

原创 Leetcode 7 整数翻转

注意题干要求 如果反转后整数溢出那么就返回 0所以result在输出前要进行判断

2019-06-01 21:51:56 83

原创 Leetcode 6 Z字形变换 思路

class Solution {public:string convert(string s, int numRows) {string result = “”;if(numRows == 1 || s.size() <= numRows) return s;for(int i = 0;i < numRows;i++){int start = i;int step;i...

2019-05-31 14:03:43 133

原创 Leetcode练习题答案记录

Leetcode第二题 两数相加 pythonclass Solution:def addTwoNumbers(self, l1, l2):“”":type l1: ListNode:type l2: ListNode:rtype: ListNode“”"re = ListNode(0)r=re # re指在链表的开头carry=0while(l1 or l2):...

2019-05-27 20:09:25 239

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除