![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试必会算法
阿福97
但行好事,莫问前程
展开
-
二分查找及其变种
二分查找本文参考https://www.cnblogs.com/luoxn28/p/5767571.html1. 浙大数据结构老师用了查坏电线杆这个例子来解释了二分查找比如上海到杭州的有线电话打不通了,用传统的查找办法就是从上海出发起的第一条电线杆开始找,一直找下去,这样的时间复杂度虽然是O(n),但是因为n非常大,所以是一个相当笨拙的办法。如果用二分查找的思想就是先到上海和杭州的中间,然...原创 2019-08-23 21:02:37 · 302 阅读 · 0 评论 -
裴波那契数列问题和爬楼梯问题的解法(递归和动态规划)
裴波那契数列问题和爬楼梯问题的解法(递归和动态规划)1. 裴波那契数列概述斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…这个数列从第3项开始,每一项都等于前两项之和。所以它的通式就是 f(n) = f(...原创 2019-08-27 11:20:00 · 1971 阅读 · 0 评论 -
位运算、原码反码补码概念、位运算常考算法题(数组中出现一次的数字、二进制表示中1的个数)
位运算、原码反码补码概念、位运算常考算法题(异或技巧)1.概述位运算有6种,与、或、非、异或、左移、右移,左右移又分带符号位和不带符号位的左右移位运算是直接在二进制层面0和1上操作的,所以它的操作效率非常高,比如正数除法可可以通过右移实现,而且它的效率比用除法高很多,java中很多类源码需要运算时常能看到作者用的是位运算来操作。2. 异或、左移、右移2.1 异或异或就一句口诀,相异为1...原创 2019-08-28 10:16:26 · 461 阅读 · 0 评论 -
LeetCode707.设计链表(这道题有意思)
LeetCode707.设计链表(这道题有意思)1. 题目链接https://leetcode-cn.com/problems/design-linked-list/2. 代码(注释有分析)class ListNode{ private int val; private ListNode next; public ListNode(){ this....原创 2019-08-30 13:10:12 · 200 阅读 · 0 评论