问题描述
仓库管理员以数组 stock
形式记录商品库存表。stock[i]
表示商品 id
,可能存在重复。原库存表按商品 id
升序排列。现因突发情况需要进行商品紧急调拨,管理员将这批商品 id
提前依次整理至库存表最后。请你找到并返回库存表中编号的 最小的元素 以便及时记录本次调拨。
示例 1:
1 | 输入:stock = [4,5,8,3,4] |
示例 2:
1 | 输入:stock = [5,7,9,1,2] |
提示:
- 1 <= stock.length <= 5000
- -5000 <= stock[i] <= 5000
解答
直接遍历就是简单题,二分就是hard
前一个升序数组,后一个升序数组,找到第两个数组的开头就是最小值(可能只有一个数组),那就用尾巴和中间比,如果尾巴小于尾巴,那就往把中间往后二分,反之往前,如果相等,尾巴左移一位。
1 | class Solution { |