上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 19 下一页
摘要: "34. 在排序数组中查找元素的第一个和最后一个位置" 题目要求用O(logn),明显要用二分。 其实二分不难,难的是要处理好边界 class Solution { public int[] searchRange(int[] nums, int target) { int i = 0, j = n 阅读全文
posted @ 2018-07-12 23:11 ACBingo 阅读(2542) 评论(0) 推荐(0) 编辑
摘要: "33. 搜索旋转排序数组" 说实话这题我连题都没有看懂。。。。真是醉了 二分,没意思,直接交了 https://www.jiuzhang.com/solutions/search in rotated sorted array/ tag other 阅读全文
posted @ 2018-07-12 22:51 ACBingo 阅读(400) 评论(0) 推荐(0) 编辑
摘要: "32. 最长有效括号" 这个题挺有意思,思路有些巧。硬上是不行的。 很明显,遇到括号匹配问题一定要从栈开始思考 说白了,这就是一个匹配消除的游戏,我给大家举个例子演示一波大家就看明白了,也就知道怎么做了 假设输入数列几位S 基本解法是维护一个栈,从S第一个元素开始一次扫描 1. 当碰到(,入栈 2 阅读全文
posted @ 2018-07-12 22:33 ACBingo 阅读(207) 评论(0) 推荐(0) 编辑
摘要: Guava Cache,网上介绍很多,我就不赘述了。 分享一篇好的文章: "Guava Cache内存缓存使用实践 定时异步刷新及简单抽象封装" "Google Guava 3 缓存" 在原作者基础上,我做了一些修改: 该方法不再定义为抽象方法。没必要抽象,当有使用场景的时候子类重载该方法不就完了嘛 阅读全文
posted @ 2018-07-12 20:20 ACBingo 阅读(2669) 评论(0) 推荐(0) 编辑
摘要: 使用场景 在日常开发中,我们经常会遇到需要调用外部服务和接口的场景。外部服务对于调用者来说一般都是不可靠的,尤其是在网络环境比较差的情况下,网络抖动很容易导致请求超时等异常情况,这时候就需要使用失败重试策略重新调用 API 接口来获取。重试策略在服务治理方面也有很广泛的使用,通过定时检测,来查看服务 阅读全文
posted @ 2018-07-12 20:09 ACBingo 阅读(1386) 评论(0) 推荐(0) 编辑
摘要: "31. 下一个排列" 发现规律后很简单: 下一个排列即是要找字典序中下一个更大的排列。 如串s:1 2 3 6 5 4 2 的下一个排列是 1 2 4 2 3 5 6 我们将数字串头点即为a,尾点记作b,从右往左看找到第一个降序数字的位置记为p,如例: 在s[p+1~b]子串中找到 s[p]的最小 阅读全文
posted @ 2018-07-11 23:56 ACBingo 阅读(411) 评论(0) 推荐(0) 编辑
摘要: "30. 与所有单词相关联的字串" 这个题做了大概两个小时左右把。。。严重怀疑leetcode的judge机器有问题。同样的代码交出来不同的运行时长,能不能A题还得看运气? 大致思路是,给words生成一关于s的字典,用来记录每个word在s中出现的 所有 位置,注意可能会出现相同的word。然后递 阅读全文
posted @ 2018-07-05 22:31 ACBingo 阅读(606) 评论(0) 推荐(0) 编辑
摘要: "29. 两数相除" 感觉是目前遇到过的最‘难’过的题。。。 不让你用乘除法,看样子又是个涉及位运算的题。 上来打算暴力,只用减法,结果超时。 没啥想法,遂google了一下,发现可以用位运算左移操作,将divisor变大,直到divisor 0) { tmp = long_divisor) { w 阅读全文
posted @ 2018-07-05 15:07 ACBingo 阅读(1775) 评论(0) 推荐(0) 编辑
摘要: "28. 实现strStr" 字符串匹配水题,边界条件需要考虑清楚。 差点想上kmp 阅读全文
posted @ 2018-07-05 10:11 ACBingo 阅读(277) 评论(0) 推荐(0) 编辑
摘要: "27. 移除元素" 与26题思路类似,比较简单 阅读全文
posted @ 2018-07-05 09:44 ACBingo 阅读(123) 评论(0) 推荐(0) 编辑
摘要: "26. 删除排序数组中的重复项" 一开始各种坐标变换把我绕晕了 ,恶心的水题 class Solution { public int removeDuplicates(int[] nums) { if (nums.length == 0) return 0; int j = 0; for (int 阅读全文
posted @ 2018-07-02 23:43 ACBingo 阅读(137) 评论(0) 推荐(0) 编辑
摘要: "25. k个一组翻转链表" 仍然是链表处理问题,略微复杂一点,边界条件得想清楚,画画图就会比较明确了。 reverse函数表示从 front.next节点开始,一共k个节点做反转。 即: 1 2 3 4 5 ,k = 2。当front为1时, 执行reverse后: 1 3 2 4 5 同上个题一 阅读全文
posted @ 2018-07-02 23:06 ACBingo 阅读(621) 评论(0) 推荐(0) 编辑
摘要: "24. 两两交换链表中的节点" 水题啊,不想说啥。分析题意,可发现两个节点切换时,需要改动的除了两个节点,还有两个节点的前一个节点。代码中middle与back,代表将要交换的两个节点。 阅读全文
posted @ 2018-07-01 23:46 ACBingo 阅读(240) 评论(0) 推荐(0) 编辑
摘要: "23. 合并K个排序链表" 这个题算是考察代码功底吧,基本功,对变量与引用的理解。 不多说了,思路跟第21题基本一致,只不过从两个换成了多个 阅读全文
posted @ 2018-07-01 23:04 ACBingo 阅读(124) 评论(0) 推荐(0) 编辑
摘要: "22. 括号生成" 谨慎后,1A的概率貌似高了些 算是20题的升级版吧, 利用递归来拼成string,然后通过 "20. 有效的括号" 该题的代码来判断生成的string合不合法 看代码吧 尼玛优化后居然比优化前慢5ms,严重怀疑leetcode评测机有毛病,代码跑多久看RP 阅读全文
posted @ 2018-07-01 22:27 ACBingo 阅读(529) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 19 下一页