自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 rebmuNylgU.263

problem:https://leetcode.com/problems/ugly-number/tips:

2016-04-01 16:06:18 212

原创 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分神书】

java并发编程实战 pdf 高清完整版 本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。 本书适合Java程序开发人员阅读。

2018-10-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除