![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
经典面试题型
收录一些比较经典的面试题,包括但不限于算法,持续更新中~
城南小石头
一枚三观比五官都要正的程序员
展开
-
如何实现对象克隆?(深克隆和浅克隆)
有两种方式:(1). 实现Cloneable接口并重写Object类中的clone()方法;(2). 实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆基于序列化和反序列化实现的克隆不仅仅是深度克隆,更重要的是通过泛型限定,可以检查出要克隆的对象是否支持序列化,这项检查是编译器完成的,不是在运行时抛出异常,这种是方案明显优于使用Object类的clo...原创 2020-04-25 18:09:04 · 489 阅读 · 0 评论 -
有一串整数里面的整数都是成对出现的,只有一个数是单独的,请找出这个单独的数。
(用位运算符实现,效率高)```javaclass Test{public static void main(String[]args){ //用0去异或这个数组的所有数,当结果就是这个单独的数 int[]arr = new int[]{1,2,1,3,4,2,3}; int n = 0; for(int i=0;i<arr.length;i++) { n=n^arr[...原创 2019-10-11 08:43:07 · 214 阅读 · 0 评论 -
二维数组转置(仅适用于行数和列数相等的二维数组)
二维数组转置(仅适用于行数和列数相等的二维数组)//将行与列索引不相同的换位即可public static void main(String[]args) { int data[][] = new int[][]{{1,2,3},{4,5,6},{7,8,9}}; reverse(data); print(data); } public static void reve...原创 2019-10-11 08:50:24 · 414 阅读 · 0 评论 -
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。 要求: 1.num1 和num2 的长度都小于 5100. 2.num1 和num2 都只包含数字 0-9. 3.num1 和n
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。要求:1.num1 和num2 的长度都小于 5100.2.num1 和num2 都只包含数字 0-9.3.num1 和num2 都不包含任何前导零。4.你不能使用任何內建 BigInteger 库,也不能直接将输入的字符串转换为整数形式。思路:1.将两个字符串的每一位截取出来2.将它们相加(分两种情况 需要进位的...原创 2019-10-11 08:53:13 · 1885 阅读 · 0 评论