如A[]={ 17 19 20 25 1 4 7 9},试在这样(下文)的数组中找一元素x,看看是否存在。

网友投稿 1461 2022-10-29

如A[]={ 17 19 20 25 1 4 7 9},试在这样(下文)的数组中找一元素x,看看是否存在。

如A[]={ 17 19 20 25 1 4 7 9},试在这样(下文)的数组中找一元素x,看看是否存在。

import java.util.ArrayList; import java.util.List;//对已排好序的数组A,一般来说可用二分查找可以很快找到。现有一特殊数组A[],它是循环递增的,如A[]={ 17 19 20 25 1 4 7 9},试在这样的数组中找一元素x,看看是否存在。public class Search { public static void main(String args[]) { int[] A = new int[] { 117, 119, 120, 125, 14, 15, 17, 19, 1, 2, 3, 7 }; List list = new ArrayList(); list.add(0); for (int i = 0; i < A.length - 1; i++)// 统计循环上升次数 { if (A[i] > A[i + 1]) { list.add(i); } } list.add(A.length - 1); int result = -1; for (int i = 0; i < list.size() - 1; i++) { System.out.println(list.get(i) + " " + list.get(i + 1)); result = search(A, 7, list.get(i), list.get(i + 1)); list.set(i + 1, list.get(i+1) + 1); if (result != -1) break; } System.out.print(result); } private static int search(int[] l, int value, int start, int end)// 改成二分查找 { for (int i = start; i <= end; i++) { if (value == l[i]) return i; } return -1; }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot如何根据目录结构生成API接口前缀
下一篇:rapp 一个提供跨平台应用程序入口点和附加功能的库
相关文章

 发表评论

暂时没有评论,来抢沙发吧~