----------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 · 203 阅读 · 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 · 389 阅读 · 0 评论 -
leetcode 96. Unique Binary Search Trees 增量技巧
题意:n个节点的二叉树,输出n个节点能组成多少二叉树的形态,unique思路:n=1 ans=1n=2 ans=2n=3 ans=5n=4 ans=?假设新加入的点放在根节点的位置,那么我们可以枚举:当左边的节点个数为0,右边节点个数为2的种类:ans[0]*ans[2]=2当左边的节点个数为1,右边节点个数为1的种类:ans[1]*ans[1]=1原创 2016-11-13 20:54:48 · 289 阅读 · 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 · 381 阅读 · 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 · 303 阅读 · 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 · 275 阅读 · 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 · 646 阅读 · 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 · 330 阅读 · 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 · 411 阅读 · 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 · 379 阅读 · 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 · 238 阅读 · 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 · 303 阅读 · 0 评论