标签目录:leetcode

以下是与标签 “leetcode” 相关联的文章

[leetcode_109]Convert Sorted List to Binary Search Tree

这个题是http://blog.sina.com.cn/s/blog_672f71fc0101os5r.html 该题目的变形,只是把数组换成了单链表,在单链表查找的时候注意优化,每次二分之后head节点对于left来说依然是head,但是对right来说head节点要更新为mid的那个节点。不然会超时。 class Solution { public: ListNode * GetListNthNode(ListNode * h……

[leetcode_55]Jump Game

从前往后一个一个标记会超时,后来想了下 某些情况下复杂度是o(n^2) 但是从后往前标记,不一样,近似于o(n) class Solution { public: void FindMin(int A[],int n,bool flag[]) { if(n <= 0)return; int min = 0xffff; for(int i = n-1;i >= 0;i--) { if(A[i] + i >=……

[leetcode_90]Subsets II

http://blog.sina.com.cn/s/blog_672f71fc0101phtr.html 该题的变形。 允许重复数字,但是求得的子集中要去除重复子集。 开始超时,后来稍微优化了下,需要检验目前找到的子集中是否有当前需要插入的子集,从后往前,发现size不一样就可以停下了。 当然想的如果还超时就用map int cmp(int a,int b) { return a < ……

[leetcode_113]Path Sum II

给一个二叉树root和一个target值,求所有从根开始到叶节点的路径和等于target的路径。 class Solution { public: void MoveOnPath(TreeNode *node,int sum,int &amp;val,vector&lt;int&gt;&amp;item,vector&lt;vector&lt;int&gt;&gt;&amp;ans) { if(node == NULL)retur……

[leetcode_78]Subsets

给定一个数组,比如{1,2,3,4} 求出 该集合的所有子集。 其中WA一次,因为要求升序排列。 搜索即可。 int cmp(int a,int b) { return a < b; } class Solution { public: void AddItemStep(int i,int k,vector<int>&S,vector<vector<int>>&ans,vector<int>&item) { ……