面试题|pdd二面算法--转载
面试题|pdd二面算法
清香的茉莉
发起于 2 天前
最近编辑于 17 小时前
给你一个数组,其中数组中的每个值与相邻元素之间的差值的绝对值是m,现在给你一个目标值k,找到数组中所有等于k的元素的索引,使用集合返回。
遍历的元素越少越好,无序
List fun(List
就比如[1,2,3,2,1,0,-1,0,1] m=1 k=3 返回[2] ,k一定是数组中的某个值
有思路,但是没写出来,估计是挂了。
我的思路是按照跳表的遍历方式,参考两个极端cur-km和cur+km将索引进行跳跃处理。
private void getK(ArrayList<Integer> list, int m, int k) {
int index = 0;
int len = list.size();
while (index < len) {
int cur = list.get(index);
// 需要的步数
int step = Math.abs(cur - k) / m;
if (step == 0) {
System.out.println(index++);
} else {
index+=step;
}
}
}
作者:清香的茉莉
链接:https://leetcode-cn.com/circle/discuss/AZEIz6/view/JGVU1V/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文作者:AlsoRan
本文链接:https://www.cnblogs.com/ache/p/15249852.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
面经分享——转载其他各平台
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步