![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《剑指offer》之java实现
大雄没有叮当猫
好好学习,天天向上
展开
-
数组中重复的数字
题目:找出数组中重复的数字描述:在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应输出的重复数字为2或3。解法:0~n-1正常的排序应该是A[i]=i;因此可以通过交换的方式,将它们都各自放回属于自己的位置;从头到尾...原创 2018-06-29 20:41:11 · 131 阅读 · 0 评论 -
不修改数组找出重复的数字
描述:在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2,3,5,4,3,2,6,7},那么对应的输出是重复的数字2或者3。这道题跟 面试题:数组中重复的数字 基本一样,但是限制了不能修改输入数组。思路1:创建一个n+1的辅助数组,然后逐一把原数组的每个数字复制到辅助数组。如果...原创 2018-06-29 21:44:54 · 218 阅读 · 0 评论 -
二维数组中的查找
题目:在一个二维数组中,每一行都是按照从左往右递增的顺序排序,每一列都是按照从上往下递增的顺序排序。请完成一个函数,输入这样一个二维数组和整数,判断数组是否有改整数。例如:下面的二位数组都是每行梅列递增,如果在这个数组中查找数字7,如果有就返回true,如果没有就返回fasle。 1 2 8 9 2 4 9 10 4 7 10 13 6 ...原创 2018-07-01 10:22:48 · 219 阅读 · 0 评论 -
合并两个有序数组
题目:有两个排序的数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2。实现一个函数,把A2中的所有数字插入到A1中,并且所有的数字是排序的。代码如下:package com.cb.java.algorithms.jianzhioffer.array;/** * 有两个排序的数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2。<br> * 实现一个函数,把A2中的...原创 2018-07-02 22:36:06 · 313 阅读 · 0 评论