
剑指offer
穿过牛仔裤的男孩
永远不要放弃你真正想要的东西,等待虽难,但后悔更甚。
展开
-
剑指offer(1)找出数组中重复的数字
题目在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2, 3, 1, 0, 2, 5, 3},那么对应的输出是重复的数字2或者3。思路利用哈希表来解决这个问题。从头到尾按顺序扫描数组的每个数字,每扫描到一个数字的时候,都可以用O(1)的时间来判断...原创 2019-07-01 16:51:00 · 155 阅读 · 0 评论 -
剑指offer(3)找出数组中重复的数字
题目在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数思路两种实现思路:1.借助二分法,二维数组的每一行看作是一个排序数组,进行二分查找2.选用右上角或者左下角开始比较查找牛客网提交代码public boolean duplicate(int numbers[], int...原创 2019-07-01 16:59:16 · 135 阅读 · 0 评论 -
剑指offer(4)替换空格
题目请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.”。思路看到替换,我们首先应该想到的是原来一个空格字符,替换之后变成’%’、'2’和’0’这3个字符,因此字符串会变长。首先我们要向面试官询问是新建字符串还是在原有字符串上面修改,本体要求是在原有字符串上进行修改。思路1:如果从前到后遍历,遇到空格,...原创 2019-07-01 20:32:11 · 111 阅读 · 0 评论