- 博客(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
98
原创 LeetCode 206 反转链表
递归调用函数本身,简单粗暴 需要栈 ,写代码时注意点在于找到递归停止条件迭代方法类似于for循环解决,比递归更为底层,需要人为的实现细节算法...
2020-01-09 23:23:36
128
原创 leetcode 128 最长连续序列
技巧1: 哈希搜索技巧2:只对 当前数字不在哈希表里的数字,作为连续序列的第一个数字去找对应的最长序列,这是因为其他数字一定已经出现在了某个序列里技巧3:C++...
2019-09-06 20:37:18
101
原创 leetcode 124 二叉树最大路径
技巧1:结点有可能是负值,最大和肯定就要想办法舍弃负值(max(0, x))技巧2:如果是不联络父结点的情况是没法递归的,但结果有可能是全局最大路径和,因此设置全局变量max_sum,在递归函数中每次计算一个新路径长度newpath,与max_sum进行比较更新...
2019-09-06 16:33:13
89
原创 leetcode 64最小路径和
1.采用自底向上的递归2.python二维数组初始化注意!!!dp=[[0]*n]*m 是浅拷贝 也就是说每行都是相同的dp=[[0]*n for _ in range(m)] 是真正的二维数组定义
2019-07-25 11:40:34
86
原创 leetcode 33搜索选择排序数组
除了利用相邻两个数之间的大小关系,还要利用边界点信息,当前点的大小要和nums[1],nums[-1]比较
2019-07-23 14:17:33
172
原创 leetcode 32 最长有效括号
动态规划1.准确定义dp[i]代表的含义:是以S[i]为结尾的最长有效括号字串2.初始化:因为有效子串不可能以’(‘为结尾,所以初始化所以dp[i]=0,在遍历s[i]!=’('重新进行赋值3.状态转移方程:本题状态转移有两种条件。...
2019-07-22 14:32:49
101
原创 leetcode 70 爬楼梯
递归方法优点:1. 代码简洁;2. 在树的前序,中序,后序的遍历算法中,递归的实现比循环简单很多。缺点:时间空间的开销都比较大(容易超时)会产生重复计算...
2019-07-11 16:07:38
93
原创 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
63
翻译 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
76
转载 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
184
转载 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
95
转载 判断溢出的正确方法
转自于https://leetcode-cn.com/problems/reverse-integer/solution/zheng-shu-fan-zhuan-by-leetcode/
2019-06-10 16:08:00
1865
原创 Leetcode 11盛水容器
双指针法这种方法背后的思路在于,两线段之间形成的区域总是会受到其中较短那条长度的限制。此外,两线段距离越远,得到的面积就越大。我们在由线段长度构成的数组中使用两个指针,一个放在开始,一个置于末尾。 此外,我们会使用变量 maxarea 来持续存储到目前为止所获得的最大面积。 在每一步中,我们会找出指针所指向的两条线段形成的区域,更新 axarea,并将指向较短线段的指针向较长线段那端移动一步。...
2019-06-06 10:41:11
148
原创 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
174
原创 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
282
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人