找出数组中超过一半的数
给你一个有N(N是奇数 && 1<=N<=999999)个数的序列,而且保证这N个数中有一个数M的数量 >= (N + 1)/2 ,让你找出这个数M。
Sample Input:
5
1 3 2 3 3
Sample Output:
3
给你一个有N(N是奇数 && 1<=N<=999999)个数的序列,而且保证这N个数中有一个数M的数量 >= (N + 1)/2 ,让你找出这个数M。
Sample Input:
5
1 3 2 3 3
Sample Output:
3
二分法
第一颗玻璃球: 从50层开始尝试, 75 -> 87 -> 93 -> 96 -> 98 -> 99 -> 100
第二颗: 若在50层碎了,需要从第一层开始一层一层的尝试
粗调,细调
第一颗玻璃球: 从10层开始尝试, 20 , 30 ,40, 50, 60, 70, 80, 90.
第二颗: 第一层开始一层一层的尝试
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
1 | 输入:nums = [-4,-1,0,3,10] |
1 | 输入:nums = [-7,-3,2,3,11] |
你带着手表被关在小房子里,
找到有毒的瓶子,
毒药十小时后发作,
只有24消失时间
某酒主人要宴请客人,他共有1000瓶酒,其中1瓶有毒。一旦喝了毒酒后,会在一天后发作,现在如果我们用小白鼠进行检测,问一天内最少需要多少只小白鼠才可以检测出哪瓶有毒?