共17页: 首页 上一页 4 5 6 7 8 9 10 11 12 下一页 末页 
摘要: "40. 组合总和 II" 这题跟上题做法几乎一样,只不过每个数能取多次改成了最多能取一次,同时candidates可能会出现相同字符,感觉还没有上一个题难。 代码仅需改两处即可,直接看代码把,有注释的地方即是改过的 class Solution { public List combinationS阅读全文
posted @ 2018-07-19 22:04 ACBingo 阅读(125) 评论(0) 编辑
摘要: "39. 组合总和" 直接暴力思路,用dfs+回溯枚举所有可能组合情况。难点在于每个数可取无数次。 我的枚举思路是: 外层枚举答案数组的长度,即枚举解中的数字个数,从1个开始,到target/ min(candidates)终止。 然后内层就可以dfs搜索了, 缕清状态的转换与回溯,题就做出来了。 阅读全文
posted @ 2018-07-19 21:45 ACBingo 阅读(258) 评论(0) 编辑
摘要: "38. 报数" 水题阅读全文
posted @ 2018-07-19 20:56 ACBingo 阅读(393) 评论(0) 编辑
摘要: "37. 解数独" 1A 这个题其实15分钟左右就敲出来并且对了。。。但是由于我输错了一个数。。导致我白白debug一个多小时。。 没啥难度,练递归 dfs的好题 class Solution { private int which(int i, int j) { if (i阅读全文
posted @ 2018-07-19 20:42 ACBingo 阅读(346) 评论(0) 编辑
摘要: "非阻塞同步算法与CAS(Compare and Swap)无锁算法" 这篇问题对java的CAS讲的非常透彻! 锁的代价 1. 内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和阅读全文
posted @ 2018-07-19 11:24 ACBingo 阅读(48) 评论(0) 编辑
摘要: 最近事情比较少,闲暇之余温习巩固一下Java的一些基础知识,并做一些笔记, Java常用集合, 主要参考的这篇文章: "Java常用集合" ArrayList/Vertor 1. ArrayList 的主要消耗是数组扩容以及在指定位置添加数据,在日常使用时最好是指定大小,尽量减少扩容。更要减少在指定阅读全文
posted @ 2018-07-18 19:20 ACBingo 阅读(45) 评论(0) 编辑
摘要: "你应该知道的 volatile 关键字" 当一个变量被 volatile 修饰时,任何线程对它的写操作都会立即刷新到主内存中,并且会强制让缓存了该变量的线程中的数据清空,必须从主内存重新读取最新数据。 volatile 修饰之后并不是让线程直接从主内存中获取数据,依然需要将变量拷贝到工作内存中。 阅读全文
posted @ 2018-07-17 18:49 ACBingo 阅读(11) 评论(0) 编辑
摘要: "869. 重新排序得到 2 的幂" 枚举排列,然后验证。比较暴力。 其实好一点的做法应该反过来,先把int范围下的2的N幂算出来,然后一个一个验证给出的数能不能拼成。 class Solution { public Integer[] nextPermutation(Integer[] nums)阅读全文
posted @ 2018-07-15 11:01 ACBingo 阅读(224) 评论(0) 编辑
摘要: "868. 二进制间距" 读懂题意就出来了 class Solution { public int binaryGap(int N) { String s = Integer.toBinaryString(N); int ans = 0; int k = 1; int i = 0; while (s阅读全文
posted @ 2018-07-15 10:58 ACBingo 阅读(98) 评论(0) 编辑
摘要: 没啥好说的,直接上就行 "36. 有效的数独" class Solution { public boolean isValidSudoku(char[][] board) { Map map = new HashMap(); for (int i = 0; i阅读全文
posted @ 2018-07-13 00:34 ACBingo 阅读(177) 评论(0) 编辑
摘要: "35. 搜索插入位置" 二分,太简单,没啥好说的阅读全文
posted @ 2018-07-12 23:42 ACBingo 阅读(151) 评论(0) 编辑
摘要: "34. 在排序数组中查找元素的第一个和最后一个位置" 题目要求用O(logn),明显要用二分。 其实二分不难,难的是要处理好边界 class Solution { public int[] searchRange(int[] nums, int target) { int i = 0, j = n阅读全文
posted @ 2018-07-12 23:11 ACBingo 阅读(1563) 评论(0) 编辑
摘要: "33. 搜索旋转排序数组" 说实话这题我连题都没有看懂。。。。真是醉了 二分,没意思,直接交了 https://www.jiuzhang.com/solutions/search in rotated sorted array/ tag other阅读全文
posted @ 2018-07-12 22:51 ACBingo 阅读(144) 评论(0) 编辑
摘要: "32. 最长有效括号" 这个题挺有意思,思路有些巧。硬上是不行的。 很明显,遇到括号匹配问题一定要从栈开始思考 说白了,这就是一个匹配消除的游戏,我给大家举个例子演示一波大家就看明白了,也就知道怎么做了 假设输入数列几位S 基本解法是维护一个栈,从S第一个元素开始一次扫描 1. 当碰到(,入栈 2阅读全文
posted @ 2018-07-12 22:33 ACBingo 阅读(50) 评论(0) 编辑
摘要: Guava Cache,网上介绍很多,我就不赘述了。 分享一篇好的文章: "Guava Cache内存缓存使用实践 定时异步刷新及简单抽象封装" "Google Guava 3 缓存" 在原作者基础上,我做了一些修改: 该方法不再定义为抽象方法。没必要抽象,当有使用场景的时候子类重载该方法不就完了嘛阅读全文
posted @ 2018-07-12 20:20 ACBingo 阅读(549) 评论(0) 编辑
共17页: 首页 上一页 4 5 6 7 8 9 10 11 12 下一页 末页