面试题
CLthinking
这个作者很懒,什么都没留下…
展开
-
腾讯面试题---二分找数
题目:一个连续有序整数数组,(a,a+1,a+2,a+3,….a+m,a+m,a+m+1,….)大小为N,其中有一个重复的数字,编写函数实现返回重复数字。思路一:线性遍历。思路二:二分查找public class FindDuplicationNum { private static int findDuplicationNum(int[] nums) { ...原创 2019-03-18 20:34:11 · 255 阅读 · 0 评论 -
面试智力题总结---持续更新
1、有两个盒子,一个盒子里放的是黑豆,一个盒子里放的是黄豆,两个盒子的豆子数目相同。现在从黑豆盒子里抓一把豆子放入黄豆盒子里,然后再从加入了黑豆的黄豆盒子里抓一把豆子(两次抓的豆子数目相同)放入黑豆盒子里,请问现在黑豆盒子里出现黄豆的个数(或者说概率)和黄豆盒子里出现黑豆的个数(或者概率)谁大谁小?为什么?概率计算的问题:假设初始条件下,黑豆和黄豆的个数都为m个,每次抓取的个数为n个。...原创 2019-03-28 14:17:37 · 655 阅读 · 0 评论 -
与二进制有关的面试题
1、现有1000个苹果,10个盒子,现在要你将1000个苹果装入10个盒子中,使得用户无论购买多少个苹果(1-1000),都能由若干个盒子拼装而成(卖的时候是整个盒子卖,不能拆盒子的包装)。解法:使用二进制,每一个盒子装1个(0000000001),第二个盒子装2个(0000000010),第三个盒子装4个(0000000100),第四个盒子装8个(0000001000),第五个盒子装16个(...原创 2019-04-16 20:22:22 · 1443 阅读 · 0 评论 -
在一个Java方法中交换两个Integer类型的值的两种写法
我们知道在Java所有方法中参数值的传递都是传值而不是传引用,如果我们只是简单的使用三变量法交换两个Integer类型的值,肯定是不行的。但是由于Integer是不可变类,我们通过Integer的引用不能改变其状态,因此要交换两个Integer变量第一种思路就是使用放射: private static void swapInteger(Integer i1, Integer i2) {...原创 2019-04-30 11:13:37 · 1148 阅读 · 0 评论 -
几道关于随机数的问题
1、给定一个等概率产生1-5的随机数rand1To5,要求不使用额外的随机函数实现等概率的产生1-7的随机函数rand1To7。实现过程如下:rand1To5()等概率产生1,2,3,4,5 rand1To5()-1 等概率产生 0,1,2,3,4 (rand1To5()-1) * 5 等概率产生 0,5,10,15,20 (rand1To5()-1) * 5 +rand1To5...原创 2019-08-05 20:06:58 · 528 阅读 · 0 评论