【Leetcode Daily】3488距离最小相等元素查询
题目浅析
想查看原题可以点击题目链接。
简单地说,就是给两个整数数组,把一个数组中的各个数字作为目标下标,求每个目标下标在另一个数组(循环数组)对应数字左右侧与自己最相近的同值元素距离(没有则取-1)。
思路分享
陆爻齐原本想的是把数组加倍,然后对每个目标下标做一个记录的向量,再用二分找位置。但灵神的处理更好,就是给下标数组加上上一数组(循环数组的上一个循环)的最后一个下标和下一数组的第一个下标。
基本的二分思路,请看【Leetcode Daily】34在排序数组中查找元素的第一个和最后一个位置。
代码解答(强烈建议自行解答后再看)
- 参考题解
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LuYaoQi's Blogs!