• 面试题|pdd二面算法--转载


    面试题|pdd二面算法
    清香的茉莉

    发起于 2 天前
    最近编辑于 17 小时前
    给你一个数组,其中数组中的每个值与相邻元素之间的差值的绝对值是m,现在给你一个目标值k,找到数组中所有等于k的元素的索引,使用集合返回。
    遍历的元素越少越好,无序
    List fun(List list,int m,int k)
    就比如[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)
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    jq function return value
    danci4
    danci3
    danci2
    项目总结 和语言总结。
    vm 安装 ox 10.13
    ios 异步和多线程
    ios 语法问题 全局变量。
    mvc
    object-c 之autolayout
  • 原文地址:https://www.cnblogs.com/ache/p/15249852.html
Copyright © 2020-2023  润新知