- 博客(176)
- 资源 (1)
- 收藏
- 关注
原创 [APUE]进程环境
1.进程终止的8种方式(5正常+3异常) (1)从main返回;(2)调用exit;(4)调用_exit或_Exit;(4)最后一个线程从其启动例程返回;(5)从最后一个线程调用pthread_exit。2.退出函数 #include exit(int status) 或 _Exit(int status); #include _exit(int status) ; e
2016-06-14 10:14:44 354
原创 snoitatumreP.46
problem:https://leetcode.com/problems/permutations/tips:backtracking,,,
2016-05-18 21:35:45 319
原创 tsiLdekniLnevEddO.328
problem:https://leetcode.com/problems/odd-even-linked-list/tips:哨兵元素的使用可以减少代码的数量,减少判断语句。
2016-05-18 21:16:22 269
原创 kaerBregetnI.343
problem:https://leetcode.com/problems/integer-break/tips:dynamic programming.. 这没错,但是忽略了:对于n,如果n = n+0,那结果为0,没错,但是如果n = x + y, 对于x和y分别求乘积最大,就可以返回x和y。
2016-05-18 20:53:46 310
原创 rehctiwSbluB.319
problem:https://leetcode.com/problems/bulb-switcher/tips:找规律。。。找到一个数n从1到n的所有因子,就是它被操作的次数,因为n = i*j, 所以求得一个i必有一个j,唯一的特例是n = i*i,所以只有平方数会被操作奇数次,其它的都是操作偶数次。
2016-05-18 19:58:02 439
原创 syarrAowTfonoitcesretnI.349
problem:https://leetcode.com/problems/intersection-of-two-arrays/tips:binary search, unique。stl 的 unique函数是将重复的元素放在最后,而没有进行删除。
2016-05-18 19:15:55 289
原创 elbatummI-D2yreuQmuSegnaR.304
problem:https://leetcode.com/problems/range-sum-query-2d-immutable/tips:动态规划,并用了一个辅助vector来表示某一格是否计算过。对于任何调用,都要先检查i, j是否在范围内!matrix为[ ]的考虑!注意修改bmatrix的值以及返回sum_matrix的值。
2016-05-17 23:52:32 280
原创 eerThcraeSyraniBotyarrAdetroStrevnoC.108
problem:https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/tips:顺序序列转换成平衡二叉搜索树,很明显的是用二分法来计算。注意,函数内部,一定要检查start和end的合理性,start必须小于end才能继续构造,否则代表这一分支没有元素了,应该返回NULL。
2016-05-17 22:34:32 309
原创 TSBanitnemelEtsellamShtK.230
problem:https://leetcode.com/problems/kth-smallest-element-in-a-bst/tips:修改递归的先序遍历方法,每次将k减一,知道k==0那么可以结束递归,k只有当前结点被访问的时候才减一。
2016-05-17 22:14:20 274
原创 eerThcraeSyraniBetadilaV.98
problem: https://leetcode.com/problems/validate-binary-search-tree/tips:二叉搜索树的概念是 左子树的所有元素小于 root, 右子树的所有元素大于root,以此类推。仅仅根据root->left->val val && root->right->val > root->val 来递归判断是有问题的。你无法认证左子树的
2016-05-17 22:10:40 439
原创 yarrabuStcudorPmumixaM.152
problem:https://leetcode.com/problems/maximum-product-subarray/tips:max,min作为指示器,每次遇到负数就换值。存在两个问题:1.0的问题,就是把数列切割为几个不包含0的子数列,最后不要忘了和0比较 2.每次得出的max,min,都要计算负数的个数,如果为奇数,那当前的max为去掉尾部的max,还要记得计
2016-05-13 10:11:27 371
原创 eerTyraniBafonoitazilaireSredroerPyfireV.331
problem: https://leetcode.com/problems/verify-preorder-serialization-of-a-binary-tree/tips:考虑 #### 几个#连在一起的情况,所以弹出的第二个数必须是用isdigit()判断;逗号要提前去掉;考虑数字是几位的,使所有的数字变成1位数;stack要考虑空的情况,有可能匹配完了为空,但是此
2016-05-12 08:51:19 314
原创 IImuSnoitanibmoC.40
problem: https://leetcode.com/problems/combination-sum-ii/tips:while(next // 此处的next如果用来作为调用函数的参数, 会出问题,因为next的情况根据start所在位置的不同,会产生不同的结果。//如果start为candidates.size()-1,那么next会变成candidates.siz
2016-05-11 17:21:29 343
原创 IIstesbuS.90
problem:https://leetcode.com/problems/subsets-ii/tips:当前的数字,取0~cnt次,然后每次调用都是从下一个不一样的数字开始。
2016-05-11 12:42:28 302
原创 muSnoitanibmoC.39
problem:https://leetcode.com/problems/combination-sum/tips:撰写递归函数的时候,判断是否调用函数应该在第一次调用之前就进行判断还是将职责下放到函数内进行判断。就本题目的例子而言,就算将判断的职责放在第一次调用之前,在函数体内也需要进行判断,这样代码的简洁度就不高; 相反的,如果把判断的职责完全交给递归的函数,代码可以简洁一些,但是会
2016-05-11 09:09:50 368
原创 hcraeSdroW.79
problem: https://leetcode.com/problems/word-search/tips:backtracking...used数组用来记录是否用过这个位置的字符,每次回溯的时候要复位used相应位。上下左右,注意数据是否越界了。比较的深度最多为word的长度,注意控制这个,在函数 开始要做检查。如果已经到达了word长度的递归深度,代表前面0~size-
2016-05-10 23:28:02 362
原创 sesserddAPIerotseR.93
problem:https://leetcode.com/problems/restore-ip-addresses/tips:用递归的方法进行回溯,为了能够恢复当前结果的值,用了值传递,而不是引用来保存当前结果。注意点: 递归的深度最多为4;如果深度超过4或者深度未到4但是s已经用完了,都直接返回; 如果字段以0开头的非1位数,直接返回,无效值; 如果字段我为3位且大于“255“,直
2016-05-10 22:48:03 308
原创 fleStpecxEyarrAfotcudorP.238
problem:https://leetcode.com/problems/product-of-array-except-self/tips:好不容易想到一个递归的方法用来解决不用除法。但是效率不是很高。发现别人居然还有更简单的方法。。。头尾计算,计算头部的元素乘积和尾部的元素乘积。
2016-05-09 15:10:56 357
原创 stnemelEtneuqerFKpoT.347
problem:https://leetcode.com/problems/top-k-frequent-elements/tips:用堆的方法。建立堆,删k次获得前k个高频数据。或者建立size()-k大小的堆,之后每插入一个数据,获得堆顶元素后,就删除一个数据。unordered_map比map速度快,因为前者是hash维护,后者每插入一个数据都要排序。compare函
2016-05-08 17:57:34 400
原创 gnirtSafoslewoVesreveR.345
problem:https://leetcode.com/problems/reverse-vowels-of-a-string/tips:别忘了beginp、endp交换之后的移动。注意越界、string为空。大小写问题。
2016-05-07 17:15:15 241
原创 stsiLdetroSkegreM.23
problem:https://leetcode.com/problems/merge-k-sorted-lists/tips:先是顶层设计,再是具体细节。注意为[ ]的情况,lists为空或者list[i]为空。注意指针移动的细节。
2016-04-13 18:22:36 271
原创 maertSataDmorfnaideMdniF.295
problem:tips:用二分法插入 原来的数据中,比顺序扫描再插入要快很多。但是。。。。。。。题目中提示用堆来做。。。。。。。瞬间。。。。。。。不会。。。。。。。。
2016-04-11 14:05:25 259
原创 IIrebmuNelgniS.137
Thanks to Sophia!!!problem:https://leetcode.com/problems/single-number-ii/tips:1.将异或改成模三加法,不进位,然后对所有位进行统计。2.先hash再进行模三加法,可以省掉很多不必要的计算。3.用每一位的统计结果作为筛选器,筛选出更小的子集,然后再进行筛选,知道集合只剩一个数,就是那个要找的数。
2016-04-11 11:03:52 254
原创 IIIrebmuNelgniS.260
problem:https://leetcode.com/problems/single-number-iii/tips:位操作,异或的特性。
2016-04-10 19:12:51 226
原创 elbatummI-yreuQmuSegnaR.303
problem:https://leetcode.com/problems/range-sum-query-immutable/tip:题目提示了immutable,就是数组是不可改变的,以及求范围和是一个多次调用的操作。那可以不保存原始数组,而是保存其前n位的和,那么求范围和只是一个o(1)算法。
2016-04-10 18:47:10 248
原创 nretraPdroW.290
problem:https://leetcode.com/problems/word-pattern/tips:同一个pattern对应不同的word,另一个是同一个word对应不同的pattern。
2016-04-10 17:30:41 245
原创 ecneuqesbuSgnisaercnItsegnoL.300
problem:https://leetcode.com/problems/longest-increasing-subsequence/tips:最长递增子串问题,不要求连续,且解不是唯一的。可以考虑到,每一个最长递增串的子串都是递增的,且肯定是从当前位置开始往后都是最长的子串,可以将l长度的子串化为l-1的长度的子串的求解,所以很容易想到的方法就是动态规划。但是,这一题目,普通
2016-04-08 13:47:30 333
原创 swoCdnaslluB.299
problem:https://leetcode.com/problems/bulls-and-cows/tips:string str;ostringstream osst(str);osstcoutreturn osst.str();最后str为空,osst.str()不为空。这样写:ostringstream osst();osstreturn
2016-04-07 10:20:02 353
原创 stiBgnitnuoC.338
problem:https://leetcode.com/problems/counting-bits/tips:后面的数可以由前面计算出的数相加而成,但是前提是这些数必须占不同的二进制位,不能有重复。可以通过每次减去最大的2的n次幂来计算,如果剩余的数已经计算过,那就直接返回1的计数加1。动态规划。
2016-04-07 09:45:50 248
原创 efiLfoemaG.289
problem:tips:保证当前计算所需的行是board的原始内容,用queue保证了当前计算的时候,数据不改变,而board中的数据是可以改变的。。注意计算第一行和最后一行的时候,是不一样的计算方法。写了一个函数用来确定neighbour的数量,计算8个格子内的neighbour。
2016-04-06 17:05:31 292
原创 seoreZoveM.283
problem:https://leetcode.com/problems/move-zeroes/tips:找到每个数应该前移的位置,最后再将几位改为0.
2016-04-06 14:25:48 267
原创 noisreVdaBtsriF.278
problem:https://leetcode.com/problems/first-bad-version/tips:n是int类型,如果用二分搜索,start、end、mid都取int类型,则mid = (start + end)/2则在start+end时候,就会造成溢出。所以只能使用long int。
2016-04-06 10:54:03 296
原创 rebmuNgnissiM.268
problem:https://leetcode.com/problems/missing-number/tips:求和,然后就知道哪一个数缺失了,别忘了,却的数会由另一个数代替,要记得减去。
2016-04-05 23:10:24 281
原创 ahtaPeerTyraniB.257
problem:https://leetcode.com/problems/binary-tree-paths/tips:偷懒用了递归的方法做。在函数内用一个局部变量接受了当前的路径串,这样在退出当前函数后,原串不会被改变。此外,要自己实现itos,要考虑的地方:如果i为0,负数,如果i为最小的负数,该如何处理。不能简单的将i变为正数再处理,要记录符号,然后每次在求余的时候,乘以符号位
2016-03-31 23:27:49 296
原创 marganAdilaV.242
problem:https://leetcode.com/problems/valid-anagram/tips:两个元素数量相同集合的元素和、平方和、立方和都一样的概率是多少?(这两个集合至少有一个元素不一样。)
2016-03-31 22:55:35 344
原创 IIxirtaMD2ahcraeS.240
problem:https://leetcode.com/problems/search-a-2d-matrix-ii/tips:binary search的应用。可以用binary search的算法来减少比较的次数,比如说返回想等的元素或者,返回比target小的最大的元素或者比target大的最小元素。没有理解 剑指offer的意思,断章取义,结果反而做了一种复杂的方法。好好理解
2016-03-31 22:22:10 297
原创 tsiLdekniLaniedoNeteleD.237
problem:https://leetcode.com/problems/delete-node-in-a-linked-list/tips:简单的移动指针,保留前指针。记得释放空间。
2016-03-26 15:14:50 248
原创 eerTyraniBaforotsecnAnommoCtsewoL.236
problem:https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/tips:利用先序查找的思想,找到从root到节点的路径,然后比较路径。
2016-03-26 15:06:47 327
原创 eerThcraeSyraniBaforotsecnAnommoCteswoL.235
problem:https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/tips:对于二叉搜索树寻找最低的公共父节点,主要的是比较两个节点值和当前节点的关系。如果是换成普通的二叉树,就会难很多!
2016-03-26 09:56:17 293
java开发编程实战 最新版【高清完整版PDF,豆瓣9分神书】
2018-10-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人