剑指offer
p入门到崛起q
这个作者很懒,什么都没留下…
展开
-
剑指offer_链表中环的入口结点
假设x为环前面的路程(黑色路程),a为环入口到相遇点的路程(蓝色路程,假设顺时针走), c为环的长度(蓝色+橙色路程) 当快慢指针相遇的时候: 此时慢指针走的路程为:Sslow = x + m * c + a 快指针走的路程为:Sfast = x + n * c + a 则有:2*Sslow = Sfast → 2 * ( x + m*c + a ) = (x + n *c + a)...转载 2018-05-31 10:40:20 · 95 阅读 · 0 评论 -
剑指offer-数组中最小的K个数
题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 这是一个经典的topK问题。 根据一般的想法,对数组进行排序,再去前K个数作为结果。排序算法若采用快排,平均时间复杂度为O(n*logn)。 因此常用解法为构建最大(小)堆的策略来解topK问题,这种解法的平均时间复杂度为O(n*logk),所以很适合于海量数据...原创 2018-06-30 20:18:30 · 277 阅读 · 0 评论 -
剑指offer:求1+2+3+...+n,不能使用乘除法、for、while、if-else、switch-case以及条件判断语句
剑指offer: 求1+2+3+…+n,不能使用乘除法、for、while、if-else、switch-case以及条件判断语句 常规解法:直接通过递归进行计算,结束条件为n==1 class Solution { public: int Sum_Solution(int n) { if(n==1) return 1; else return n+S...原创 2018-06-27 20:23:38 · 219 阅读 · 0 评论