剑指offer
mxrrr_sunshine
这个作者很懒,什么都没留下…
展开
-
剑指offer:面试题3-数组中重复的数字
题目1:找出数组中重复的数字 在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字时重复的,但不知道有几个数字重复了,也不知道每个数字重复了记此。请找出数组中任意一个重复的数字。例如:如果输入长度为7的数字{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或3。 思路是:将下标为i的元素与下标为a[i]的元素比较,相等就说明有重复数字返回1,不相等就交换,直到交换到a原创 2018-04-19 23:14:12 · 209 阅读 · 0 评论 -
剑指offer-面试题4-二维数组的查找
在一个二维数组中,每一行都按照从左到右依次递增的顺序排序,每一列都按照从上到下依次递增的顺序排序。完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路:查找时,先从右上角开始比较。 构造测试用例: 思路主要是:分为查找得到和查找不到两种情况。并且这两种情况中,也要对边界及非边界进行测试。 int key1=15;//测试用例:找得...原创 2018-05-01 21:09:05 · 125 阅读 · 0 评论 -
剑指offer-面试题5-替换空格
替换空格 题目:请实现一个函数,把字符串中的每个空格替换成%20。例如:输入“we are happy”输出“we%20are%20happy”。 拿到这个题时,第一个要考虑的就是内存够不够的问题。因为原来空格是一个字符,现在要将一个空格替换为三个字符,内存会变大。现在假设是在内存足够的情况下修改。 过程如下: 完成一个空格的替换: 完成替换: 测试用例的考虑: 正确输入:空格位于最原创 2018-05-04 15:34:26 · 255 阅读 · 0 评论
分享