2018年2月8日

leetcode 345. Reverse Vowels of a String

摘要: string reverseVowels(string s) { for (int i = 0, j = s.size() - 1; i < j;) { bool l = isVowels(s[i]); bool r = isVowels(s[j]); if (l && r) ... 阅读全文

posted @ 2018-02-08 15:45 willaty 阅读(100) 评论(0) 推荐(0) 编辑

leetcode 344. Reverse String

摘要: string reverseString(string s) { int size = (s.size() >> 1); for (int i = 0; i < size; i++) { swap(s[i], s[s.size() - i - 1]); } return move(s); } ... 阅读全文

posted @ 2018-02-08 15:37 willaty 阅读(78) 评论(0) 推荐(0) 编辑

leetcode 342. Power of Four

摘要: 没想出来不用循环的。记录下。 如果是2的次方,必有num & (nums - 1) 或者第二步排除,直接(num - 1) % 3为0也可以,如果是4的倍数,减1后必能被3整除,从二进制角度考虑下即可。 不建议用对数,涉及浮点数,精度问题,见:https://discuss.leetcode.com 阅读全文

posted @ 2018-02-08 15:27 willaty 阅读(86) 评论(0) 推荐(0) 编辑

leetcode 326. Power of Three

摘要: 判断是否是3的次方。 找了下二进制和十进制规律,没有明显规律。 要么对数;要么利用int下最大3的次方:哈希或整除。 阅读全文

posted @ 2018-02-08 14:59 willaty 阅读(85) 评论(0) 推荐(0) 编辑

leetcode 303. Range Sum Query - Immutable

摘要: 关键在于,想出类似最大子数组和中的一种解法。 缓存每个数前的所有和,需要的时候,减一下即可。 阅读全文

posted @ 2018-02-08 14:42 willaty 阅读(82) 评论(0) 推荐(0) 编辑

leetcode 292. Nim Game

摘要: 博弈论经典。 阅读全文

posted @ 2018-02-08 14:19 willaty 阅读(89) 评论(0) 推荐(0) 编辑

leetcode 290. Word Pattern

摘要: 普通的做法就是两个哈希。 这里用了一点小技巧,比如a和b双射,不相互保存,而是都保存一个数字,之后每次增加映射,数字都增加1。 节省空间用。 阅读全文

posted @ 2018-02-08 14:15 willaty 阅读(97) 评论(0) 推荐(0) 编辑

leetcode 278. First Bad Version

摘要: int firstBadVersion(int n) { // long start = 1; // long end = n; int start = 1; int end = n; int last = -1; while (start <= end) { ... 阅读全文

posted @ 2018-02-08 11:55 willaty 阅读(95) 评论(0) 推荐(0) 编辑

leetcode 283. Move Zeroes

摘要: 第一次写的代码,实际效率是O(n)的,但判断多了一点。 其实可以很简洁: 阅读全文

posted @ 2018-02-08 10:58 willaty 阅读(99) 评论(0) 推荐(0) 编辑

leetcode 268. Missing Number

摘要: 原地哈希。代码没怎么优化,思路清晰。 阅读全文

posted @ 2018-02-08 09:54 willaty 阅读(93) 评论(0) 推荐(0) 编辑

导航