
【编程基本】算法
zzhuopeng
爱编程,爱跑步,爱生活。
展开
-
【今日头条面试题】一个表达式判断一个数是否是2的幂次方
目录前言1.右移->判断1的个数2.位运算->判断1的个数3.参考资料前言今日头条实习生面试,手撕代码题目。测试源码在这里。1.右移->判断1的个数考虑将该数化成二进制,2的幂次方的数用二进制表示的话,只有一位为1,其余为都为0.。题目则变成“如何判断一个二进制数只有一个位为1”。代码如下:boolean isPowerOfT...原创 2019-07-04 14:52:39 · 635 阅读 · 0 评论 -
【腾讯面试题】判断链表是否有环
目录前言1.快慢指针2.哈希表法前言腾讯电话面题目。测试代码在这里。1.快慢指针参考资料点这里。用两个指针指向链表头,每次循环,快指针往前两步,慢指针往前一步;在循环过程中,如果快指针等于慢指针(相遇),则表示链表有环;否则不存在环。代码如下: public boolean findBeginLoop(ListNode head) { ...原创 2019-07-05 11:31:28 · 906 阅读 · 0 评论 -
【递归和循环】计算1+...+n之和
目录前言1.递归实现2.循环实现前言常见的算法都是通过递归和循环实现的。这里通过计算1+...+n之和的递归和循环实现,对这两种方法进行一个比较,从而加深理解。测试代码在这里。测试都是通过Junit进行测试的。1.递归实现递归实现时,测试中发现n不能过大,在笔记本上面不能超过10000,否则会出现StackOverflow异常。 public int S...原创 2019-07-11 22:50:04 · 939 阅读 · 0 评论