![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
----------leetcode--------
CrossDolphin
青春看起来如此完美,没空闲去浪费时间。
展开
-
leetcode 2. Add Two Numbers 指针链表
题目链接:戳这里 代码: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { publi原创 2016-10-24 17:51:23 · 195 阅读 · 0 评论 -
leetcode 110. Balanced Binary Tree 判断是否是一颗平衡二叉树
技巧:链表的掌握,以及auto 对于c++11的使用技巧 代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), le原创 2016-11-21 21:13:15 · 378 阅读 · 0 评论 -
leetcode 96. Unique Binary Search Trees 增量技巧
题意: n个节点的二叉树,输出n个节点能组成多少二叉树的形态,unique 思路: n=1 ans=1 n=2 ans=2 n=3 ans=5 n=4 ans=? 假设新加入的点放在根节点的位置,那么我们可以枚举: 当左边的节点个数为0,右边节点个数为2的种类:ans[0]*ans[2]=2 当左边的节点个数为1,右边节点个数为1的种类:ans[1]*ans[1]=1原创 2016-11-13 20:54:48 · 282 阅读 · 0 评论 -
leetcode 21. Merge Two Sorted Lists 两个单向链表合并 指针与解指针
代码: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNod原创 2016-11-10 22:23:16 · 371 阅读 · 0 评论 -
leetcode 24. Swap Nodes in Pairs 单向链表操作
Get: 当前指针a指向的地址如果是空的话,a->next无法指向任何地址 将单向链表的奇偶位置互换 代码: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(N原创 2016-11-11 10:08:25 · 292 阅读 · 0 评论 -
leetcode 19. Remove Nth Node From End of List 单向链表删除第n个数
代码: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNod原创 2016-11-10 21:23:19 · 267 阅读 · 0 评论 -
网易笔试题 分析
链接:戳这里 题意: 小易是一个数论爱好者,并且对于一个数的奇数约数十分感兴趣。一天小易遇到这样一个问题: 定义函数f(x)为x最大的奇数约数,x为正整数。 例如:f(44) = 11. 现在给出一个N,需要求出 f(1) + f(2) + f(3).......f(N) 例如: N = 7 f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f原创 2016-10-26 17:10:37 · 635 阅读 · 0 评论 -
leetcode 18. 4Sum 暴力枚举
链接:戳这里 题意:给出长度为n的整数序列和目标target,定义一个四元组a[i]+a[j]+a[k]+a[l]==target 输出所有满足条件的四元组 ,两个四元组不同当且仅当至少一个元素不同 思路:先升序排序,枚举当前a[i],然后再枚举a[j],接下来在区间[j+1,n-1]中找出两个a[l],a[r]使得a[i]+a[j]+a[l]+a[r]=tar 因为是升原创 2016-10-26 14:15:09 · 322 阅读 · 0 评论 -
leetcode 15. 3Sum 暴力枚举
链接:戳这里 题意:给出长度为n的整数序列,要求找出满足条件的所有不同三元组使得三个数和为0 两个三元组不相同意义为:集合中至少有一个数不同 思路:序列按升序排序,枚举a[k],接着在[0,k-1]选出两个数a[i],a[j] 相加使得和为-a[k],即为答案 复杂度O(n*n) 由于序列是升序排序,所以a[i]+a[j]的值是会随着i,j的移动而显得有单调性 当a[i]原创 2016-10-26 12:23:10 · 403 阅读 · 0 评论 -
leetcode 11. Container With Most Water 贪心
链接:戳这里 题意:给出长度为n的正整数序列 h[i] ,表示一条竖直线段为 [i,0] [i,hi] 现在从上往下浇水,问任意选两条线段使得装水的容量最大,输出装满水之后容器竖截面的面积 思路:贪心思想,枚举l=0,r=n 对于当前最佳答案区间[l,r] 答案为: (r-l)*min(h[l],h[r]) 那么需要找出中间的区间是否存在一个更大的(r1-l1)*h[i原创 2016-10-25 21:39:46 · 372 阅读 · 0 评论 -
leetcode 3. Longest Substring Without Repeating Characters dp
链接:戳这里 题意:给出一串字符串,输出最长的子序列长度满足(该子序列中不出现重复的元素) 思路:dp[i] 表示在当前位置i的值为x,存在上一个x出现的位置为dp[i] 那么维护一个左边界L,L每次更新是因为出现了x......x类似这样的情况,更新为L=max(L,第一个x出现的位置) 因为你不管怎么取都不能在往第一个出现x的位置左边走了 对于 x..x..y..y.原创 2016-10-24 21:32:05 · 231 阅读 · 0 评论 -
leetcode 113. Path Sum II 二叉树求符合和值为sum的链
技巧:链表二叉树的掌握,以及链表递归深层次的了解 代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(N原创 2016-11-22 12:05:44 · 294 阅读 · 0 评论