liuwenzi Blog

人生不易,何必白白走这么一遭

剑指offer No.3.2 不修改数组找出重复的数字

剑指offer60天计划

不修改数组找出重复的数字 在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但是不能修改输入的数组。例如,如果输入长度为8的数组{2,3,5,4,3,2,6,7},那么对应的输出是重复的数字2或者3。 题解 利用额外的数组空间,将数组复制到另一数组A中,当原数组中元素已经存在数组A时,则证明...

剑指offer No.3 寻找数组中的重复数字

剑指offer60天计划

题目:找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 题解 1.先将数组排序,然后扫描数组,比较数组中相邻数字是否相同。 ...

走过的路,明的理

写给自己

不自卑,不敏感 不要逃避困难,这只会让接下来的你更难堪

二叉树morris遍历

神级算法

无意间发现了一种神级算法,遍历二叉树只需要O(1)的空间复杂度。 morris算法 我们对二叉树的遍历无非两种 广度优先(利用队列进行层次遍历) 空间复杂度O(n) 深度优先(递归)log(n) 那么morris是如何做到O(1)空间复杂度的呢? morris利用叶子节点来记录父节点,它把左孩子的最右孩子指向父节点,以此循环。它跟广度优先和深度优先的最根本区别就...

终于搭完了博客呀

一年前想做的事

出来混总是要还的   很久之前就想搭个属于自己的博客,奈何技术不行,一直停滞不前,昨天考完试决定使用现有的template快速搭建。过程还算顺利。   拥有了属于自己的博客,我将干什么呢?我可以分享自己的生活,将自己的见闻分享出来。记录自己的心情。写写技术上的收获,和互联网的朋友们一起进步。分享在我看来是一件非常有意义的事情。也期待你和我分享自己的生活!   最近严重的意识...