上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 36 下一页
摘要: 一:解题思路 方法一:可以采用前面讲解的类似的2的幂来做这道题,Time:O(log_3(n)),Space:O(1) 方法二:整数最大值,y=2^31-1。3^a<=y,那么a<=log_ay ==> a<=ln(y)/ln(3),计算出a为19.所以MAX_NUM=3^19。Time:O(1), 阅读全文
posted @ 2020-04-03 21:00 repinkply 阅读(136) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:只要原始数字为2的倍数,不断的去除以2,直到最后结果为1.Time:O(log(n)),Space:O(1) 方法二:我们可以发现,当一个数中有且仅有某一位二进制为1的时候,那么这个数就肯定是2的幂。所以我们可以看n&(n-1)==0来判断这个数是否为2的幂。Time:O(1) 阅读全文
posted @ 2020-04-03 20:31 repinkply 阅读(593) 评论(0) 推荐(0)
摘要: 一:解题思路 Time:O(1.3^n)或O(2^n) Space:O(1.3^n)或O(2^n) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: string countAndSay(int n) { if (n < 1) return "" 阅读全文
posted @ 2020-04-03 19:59 repinkply 阅读(186) 评论(0) 推荐(0)
摘要: 一:解题思路 这个题的本质和之前做过的单链表是否有环差不多。 方法一:利用一个集合set不断的变化数字,并将数字加入到集合set中,如果发现变换的数字最终为1则返回true,如果发现集合中以及存在之前变换的数字,则返回false。Time:O(1),Space:O(1) 方法二:快慢指针法,快指针每 阅读全文
posted @ 2020-04-03 16:58 repinkply 阅读(376) 评论(0) 推荐(0)
摘要: 一:解题思路 Time:O(log_5(n)),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: int trailingZeroes(int n) { int count = 0; while (n > 0) { n /= 阅读全文
posted @ 2020-04-03 16:10 repinkply 阅读(127) 评论(0) 推荐(0)
摘要: 一:解题思路 二:完整代码示例 (C++版和Java版) C++11方法一:Time:O(m+n),Space:O(m) class Solution { public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { 阅读全文
posted @ 2020-04-02 21:28 repinkply 阅读(141) 评论(0) 推荐(0)
摘要: 一:解题思路 我们之前做个一道题,在一个有序数组中,求和为定值的两个数。当时是采用类似二分搜索的方法来做的。同样这道题目也可以采用类似的方法来做,让两个游标i=0,j=(int)根号c,然后利用二分的思想来做。 二:完整代码示例 (C++版和Java版) C++: class Solution { 阅读全文
posted @ 2020-04-02 18:07 repinkply 阅读(255) 评论(0) 推荐(0)
摘要: 一:解题思路 1.如果当前的罗马数字是字符串中最后一个字符,或者当前的罗马数字大于等于它右边的罗马数字,那么就加上当前的罗马数字对应的数值。 2.如果当前的罗马数字小于它右边的罗马数字,那么就减去当前的罗马数字对应的数值。 在这里需要一个数组来存储7个罗马数字和阿拉伯数字之间的转换,但不管在任何情况 阅读全文
posted @ 2020-04-02 17:16 repinkply 阅读(152) 评论(0) 推荐(0)
摘要: 第一点:我们知道分配器在STL中扮演的是幕后英雄,一般感觉上分配器扮演的是内存池的角色,但事实情况真的是这样吗? (内存池的工作原理:我们知道C++中new关键字进行动态内存分配的时候,其底层做的事情还是调用malloc函数,那么每次调用malloc其实系统会为我们多分配一些内存空间出来的,多分配的 阅读全文
posted @ 2020-04-02 13:11 repinkply 阅读(22) 评论(0) 推荐(0)
摘要: 一:解题思路 这道题目和之前的单身数字的题目有点像。那个题目是每个数子都出现2次然后找到只出现1次的那个数字。那个题目的核心是异或的思想。类比过来这道题目 二:完整代码示例 (C++版和Java版) 方法一:Time:O(n),Space:O(1) 方法一比方法二容易理解 方法二:Time:O(n) 阅读全文
posted @ 2020-03-25 17:05 repinkply 阅读(156) 评论(0) 推荐(0)
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 36 下一页