剑指offer
cocohao715
这个作者很懒,什么都没留下…
展开
-
【剑指offer】数组中重复的数字
数组中重复的数字 题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 解析 用时间换空间的方法,哈希表解决。 遍历整个数组将其放入hashmap中,判断hashmap中是否...原创 2018-10-21 16:21:49 · 304 阅读 · 0 评论 -
【剑指offer】不修改数组找出重复的数字
题目描述 不修改数组找出重复的数字。在一个长度为n+1的数组中的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。在不修改输入数组的情况下找出数组中任意一个重复数字。例如输入长度为8的数组{2, 3, 5, 4, 3, 2, 6, 7},则对应输出的是2或者3。 解析 本题目有三种策略,一种利用哈希表、一种是利用下标的位置交换元素,这两种策略与【数组中重复的数字】一样。这里说例外一种。...原创 2018-10-21 16:48:00 · 210 阅读 · 0 评论 -
【剑指offer】二维数组中的查找
【剑指offer】二维数组中的查找题目描述解析策略代码 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解析 因为该数组是有规律的,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。因此可以用到一种策略。 策略 1.找出...原创 2018-10-21 17:55:28 · 330 阅读 · 0 评论 -
【剑指offer】替换空格
【剑指offer】替换空格题目描述解析代码 题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解析 这道题要考虑两种情况 对原字符串不进行任何操作,创建一个新的字符串进行添加操作。 在原字符串进行操作: 首先遍历一下字符串数出空格的数量,对字符串进行扩容 从后面遍历到前面,...原创 2018-10-23 15:05:35 · 171 阅读 · 0 评论 -
【剑指offer】从尾到头打印链表
【剑指offer】从尾到头打印链表问题描述解析代码 问题描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 解析 看到这问题,第一反应是递归调用,但是递归如果太深入就会产生栈溢出。所以更改成java里面有个栈的数据结构类型——Stack。 代码 import java.util.ArrayList; import java.util.Iterator; import java...原创 2018-10-23 15:38:27 · 118 阅读 · 0 评论