zoukankan      html  css  js  c++  java
  • 面试题|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)
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    js 设计模式
    jquery 概述
    Node.js最新Web技术栈(2015年5月)
    this
    gulp
    bootstrap modal
    jsTree问题
    iterm2 学习笔记
    knowledge_map 修改笔记
    handsontable 问题
  • 原文地址:https://www.cnblogs.com/ache/p/15249852.html
Copyright © 2011-2022 走看看