用二分法查找顺序数组中key值出现的最后一个位置

基本思路,将顺序数组两边掐,最后掐到只剩下两个元素,前面的那一个就是target值。如果key值等于中间值的话就掐掉中间值的左边一部分,继续往后对比中间值,如果下雨则中间值右边部分...,这样最后会只剩下两个相邻的元素,左边的那个既是。

二分法模板:start+1< end

mid=start + (end - start) / 2
                     A[mid] ==, <, >
                     A[start] A[end] ? target

public static int SearchLastPosition(int[]arry, int target){int low =0, end = arry.length-1, mid;while(low+1<end){mid = low + (end-low)/2;if(arry[mid]<=target){low=mid;}else {end = mid;}}if(arry[low]==target) return low+1;else if(arry[end]==target) return end+1;else return -1;}

转载于:https://www.cnblogs.com/junliu37/p/7125321.html

新手算法学习之路----二分法Last-position-of-Target相关推荐

  1. 新手算法学习之路----二叉树(二叉树最大路径和)

    摘抄自:https://segmentfault.com/a/1190000003554858#articleHeader2 题目: Given a binary tree, find the max ...

  2. 拿下斯坦福和剑桥双offer,00后的算法学习之路

    董文馨,00后,精通英语,西班牙语.斯坦福大学计算机系和剑桥大学双Offer,秋季将进入斯坦福大学学习. 10岁开始在国外上学:12岁学Scratch: 13岁学HTML & CSS: 14岁 ...

  3. 算法学习之路和程序员(技术)学习必读书籍

    原文链接:http://lucida.me/blog/on-learning-algorithms/ 转 算法学习之路和程序员(技术)学习必读书籍 2015年05月26日 09:46:56 阅读数:1 ...

  4. 完全背包问题贪心算法c语言,数据结构与算法学习之路:背包问题的贪心算法和动态规划算法...

    一.背包问题描述: 有N种物品和一个重量为M的背包,第i种物品的重量是w[i],价值是p[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包重量,且价值总和最大. 二.解决方法: 1.贪心算 ...

  5. 巩朋:我的算法学习之路

    转自:http://blog.jobbole.com/67348/ 巩朋:我的算法学习之路 分享到: 232 MVC架构模式分析与设计 Linux Guide for Developers 网页广告特 ...

  6. 【算法学习】四 二分法查找(折半法或者折半查找)

    前言 社长,一个爱学习,爱分享的程序猿,始终相信,付出总会有回报的.知识改变命运,学习成就未来.爱拼才会赢! 程序猿学社的GitHub,已整理成相关技术专刊,欢迎Star:. https://gith ...

  7. python二分法查找算法_python之路-二分法查找

    楔子 如果有这样一个列表,让你从这个列表中找到66的位置,你要怎么做? l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72 ...

  8. 1.1.10 从二分查找BinarySearch开启算法学习之路---《java算法第四版》

    文章目录 0.前言 1.功能 2.示例 有两个名单tinyW.txt和tinyT.txt,将tinyT.txt名单中不在tinyW.txt的数据打印出来 ① 实现原理 ② 实现代码 ③ 性能分析 0. ...

  9. 算法学习之路|最小生成树——prime算法

    摘要: 算法概述:对于一个带权的连通图,其顶点的集合 为V,边的集合为E.定义一个新的集合Vnew={空},第一步在图中任选一个顶点v加入Vnew,第二步寻找最短的边(u,v),其中u∈Vnew,v∈ ...

最新文章

  1. 创业之前,您应该好好听我说
  2. python小程序-第一个python小程序——即时动态时钟(代码解读)
  3. java 两个等长数组的中位数_查询两个数组的中位数
  4. Python文件夹与文件的操作
  5. 英特尔、联发科、展讯等开始支持开源的物联网轻量化操作系统AliOS Lite
  6. 通过Roslyn构建自己的C#脚本(更新版)
  7. java timer开销_减少Java垃圾收集开销的5条提示
  8. java.net.ConnectException: Connection refused: connect
  9. dp - 求连续区间异或的最大值
  10. 金立手机用60亿“砸死”了自己
  11. splay详解(三)
  12. 双击 计算机 网络打不开,windows7系统双击“双击计算机”打不开怎么回事
  13. 数据中心服务器巡检方案,数据中心巡检机器人方案.pdf
  14. PLC液压控制系列之比例流量阀结构分析
  15. SDN技术的十个关键因素
  16. 人工神经网络概念及组成,人工神经网络发展史
  17. noi linux 比赛使用哪个编译器,noi linux简介.pdf
  18. 自制汉字字库,识别汉字(三)(汉字篇)
  19. 详解Oracle RAC 集群并发控制:DLM\GRD\GCS\GES傻傻分不清-grd文件
  20. 一文搞懂MySQL索引所有知识点(建议收藏)

热门文章

  1. 关于Android回调的理解
  2. mos 控制交流_电机控制器母线电容的设计选型
  3. java派生类_我可以使派生类从Java的基类继承派生成员...
  4. 在laravel5.8中集成swoole组件----初步测试
  5. [19/03/16-星期六] 常用类_Date时间类DateFormat类
  6. 0,1,2 代表标准输入、标准输出、标准错误
  7. Mysql--重点1
  8. ChemBioDraw 制作DMT屏保
  9. 一款纯css3实现的超炫动画背画特效
  10. html5 本地保存大数据库,HTML5本地储存 - jellydd的个人空间 - OSCHINA - 中文开源技术交流社区...