博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有序数切断重组
阅读量:6530 次
发布时间:2019-06-24

本文共 823 字,大约阅读时间需要 2 分钟。

将一个升序数组在中间截断成两部分,重新组合成数组,要在数组中找target 返回index,不在数组中返回-1

主要思想还是二分  

只是分类讨论的情况比二分的多。

/** * leetcode rotated Array * 将一个有序(不妨假设是升序吧)的数组切割后重组,找出目标元素。 变相的二分查找 * 有两种 1.数组无重复元素 2. 数组有重复的元素 * 若target不在数组中,则返回-1  时间复杂度lg2n * @author admin */public static int search(int [] A,int target){        int len =A.length;        if(len==0) return -1;        else if(len==1) return A[0]==target?0:-1;        int left =0,right=len-1;        while(left
A[right])) return -1; if(A[left]
target&&A[left]
A[right]&&A[mid]
target) { left = mid+1; continue; } if(A[left]
A[mid]){ right = mid-1; continue; } } return -1; }

 

转载于:https://www.cnblogs.com/CongLollipop/p/6636613.html

你可能感兴趣的文章
极速理解设计模式系列:8.策略模式(Strategy Pattern)
查看>>
MySQL修改复制密码后。。。
查看>>
葡萄城报表模板库更新:新增6个行业、50张经典报表模板
查看>>
Tomcat中JVM内存溢出及合理配置
查看>>
关于条件测试及exit命令
查看>>
linux增加路由命令
查看>>
bash的环境配置文件
查看>>
zookeeper 集群
查看>>
2016中国大数据市场研究报告
查看>>
vm—win7
查看>>
一个爬虫工程师的梦
查看>>
python导入mysql
查看>>
git 实践(一) pull的使用
查看>>
一文读懂JavaScript和ECMAScript的区别
查看>>
寿光洪灾面前,这群淘宝上的陌生人做了件小事
查看>>
Linux下的通配符和特殊符号用法详解
查看>>
精选前端面试题之Javascript(20道)
查看>>
android 使用webview加载网页问题
查看>>
css中的常见布局面试题
查看>>
基于 Alpine 基础镜像构建 H2 Database 镜像
查看>>