- 博客(3)
- 收藏
- 关注
原创 面试题(四)不修改数组找出重复的数字
题目: 不修改数组找出重复的数字。在一个长度为n+1的数组中的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。在不修改输入数组的情况下找出数组中任意一个重复数字。例如输入长度为8的数组{2, 3, 5, 4, 3, 2, 6, 7},则对应输出的是2或者3。思路:(类似于2分查找) 对于一个整数范围i1~i2,如果在这个范围内的整数的数量超过i2-i1+1,那么此范围内的整数中必然
2018-01-31 17:20:45 2238 3
原创 面试题(三)数组中的重复数字
题目:找出数组中重复的数字。在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,若输入长度为7的数组{2, 3, 1, 0, 2 , 5, 3},则输出2或者3。 思路: 若原数组中无重复的元素,则对原数组排序后下标为i的数组元素为i。受此启发我们可以重排原数组:从头到尾扫描
2018-01-31 16:53:39 311
原创 Java class文件及其加载过程探索
1. 基础知识 class文件可以存储在文件系统的子目录中,类路径必须与包名匹配。另外,class文件也可以存储在JAR文件中。JAR文件以zip格式组织文件和子目录。 javac编译器总是在当前的目录中查找文件,但JVM仅在类路径中有“.”目录的时候才查看当前目录。 JVM搜索class文件的过程:首先查看存储在jre/lib和jre/lib/ext目录下的jar文件中的class文件,若没有待查
2018-01-10 11:38:24 328
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人