本文主要是介绍[百度]数组A中任意两个相邻元素大小相差1,在其中查找某个数。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
数组A中任意两个相邻元素大小相差1,现给定这样的数组A和目标整数t,找出t在数组A中的位置。如数组:[1,2,3,4,3,4,5,6,5],找到4在数组中的位置。
思路:对于目标target来说,当前数如果是和它相等的话,那么最起码需要跳abs(target-A[i]),因为如果不是递增或者递减的话,而是波动的话,那么它最起码要在abs(target-A[i])。
import java.util.Vector;public class Solution {public static Vector<Integer> ve = new Vector<Integer>();public static void Find(int num[], int n, int target) {if (n <= 0) return;for (int i = 0; i < n; ) {if (num[i] == target) {ve.add(i);i += 2;}else i += Math.abs(num[i] - target);}return;}public static void main(String args[]) {ve.clear();int num[] = {1, 2, 3, 2, 3, 4, 3, 2, 3};int target = 4;Find(num, num.length, target);for (int i : ve)System.out.println(i + " ");}
}
这篇关于[百度]数组A中任意两个相邻元素大小相差1,在其中查找某个数。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!