摘要: 题目: 解题思路: 1.直接移位即可,右移32次,每次判断最后一位是否为1即可; 代码如下: 2.观察n&n-1,则将消除一位1. 阅读全文
posted @ 2018-05-06 23:02 且听疯吟吖 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 题目: 代码实现: 阅读全文
posted @ 2018-05-06 22:55 且听疯吟吖 阅读(2346) 评论(0) 推荐(0) 编辑
摘要: 题目: 解题思路: 拿到本题,首先想到的是用循环解决该问题,实际提交代码后,超时。后来参考相关答案给出的结果,确实非常精简。 即如果该数能被3的n次方的最大整数整除,被该数即为3的幂。 3的n次方32位的最大整数为1162261467。 代码实现: 阅读全文
posted @ 2018-05-06 22:52 且听疯吟吖 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题目: 解题思路: 代码实现: 阅读全文
posted @ 2018-05-06 22:47 且听疯吟吖 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 题目: 解题思路: 1.n同时被3和5整除输出“FizzBuzz”; 2.n只能被3整除输出"Fizz"; 3.n只能被5整除输出"Buzz"; 4.其他输出数字; 代码实现: 阅读全文
posted @ 2018-05-06 22:43 且听疯吟吖 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 题目: 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素x推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: 解题思路: 使用两个栈,一个栈保存所有的操 阅读全文
posted @ 2018-05-06 22:35 且听疯吟吖 阅读(811) 评论(0) 推荐(0) 编辑
摘要: 题目: 解题思路: reset操作: 记录下数组的原始位置,reset操作时,直接返回原数组的拷贝即可。 shuffle: 将数组中的每个数与数组中的随机位置进行交换即可。关键点在于如何找到随机交换的位置,并且保证概率相同。 及第i个数可能与数组中任意一个数进行交换。 int t = (i + ra 阅读全文
posted @ 2018-05-06 22:21 且听疯吟吖 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目: 解题思路: 本题简单,动态规划即可实现。由于不能允许相邻的房屋同时被打劫。则如果打劫了第i间房间,则第i-1间房间不能被打劫,设前i间房间打劫所得最大金额为dp[i]。 因此得到递推公式: dp[i] = max(dp[i-1],dp[i-2] + nums[i]); 代码如下: 阅读全文
posted @ 2018-05-06 20:14 且听疯吟吖 阅读(814) 评论(0) 推荐(0) 编辑
摘要: 题目: 解题思路: O(N)的解法: 分治法: 阅读全文
posted @ 2018-05-06 15:13 且听疯吟吖 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 题目: 解题思路: 用后一天减去前天得到隔天的利润,然后将该题目转化为求最大子序列和的问题。 另外一种解法,当天的价格减去今天以前的股票最小值: 阅读全文
posted @ 2018-05-06 15:05 且听疯吟吖 阅读(2435) 评论(0) 推荐(0) 编辑