剑指offer38 数字在排序数组中出现的次数
这种方法没用迭代,而是使用了循环的方式
class Solution { public:int GetNumberOfK(vector<int> data ,int k) {if(data.empty())return 0;int First = getFirstofK(data,k);int Last = getLastofK(data,k);if(First == -1 || Last == -1)return 0;elsereturn Last - First + 1;}int getFirstofK(vector<int> data,int k){int length = data.size();int begin = 0;int end = length - 1;while(begin <= end){int mid = (begin + end)/2;if(data[mid] == k){if(data[mid-1] != k)return mid;elseend = mid - 1;}else if(data[mid] < k)begin = mid + 1;elseend = mid - 1; }return -1;}int getLastofK(vector<int> data,int k){int length = data.size();int begin = 0;int end = length - 1;while(begin <= end){int mid = (begin + end)/2;if(data[mid] == k){if(data[mid+1] != k)return mid;elsebegin = mid + 1;}else if(data[mid] < k)begin = mid + 1;elseend = mid - 1; }return -1;} };
转载于:https://www.cnblogs.com/ymjyqsx/p/7171715.html
剑指offer38 数字在排序数组中出现的次数相关推荐
- 剑指offer——数字在排序数组中出现的次数
题目:统计一个数字在排序数组中出现的次数. 方法一:蛮力法 public class Solution {public int GetNumberOfK(int [] array , int k) { ...
- 【剑指offer】数字在排序数组中出现的次数
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27364557 题目描写叙述: 统计一个数字在排序数组中出现的次数. 输入: 每一个測试案例 ...
- 剑指offer——面试题38:数字在排序数组中出现的次数
剑指offer--面试题38:数字在排序数组中出现的次数 20180906整理 Solution1: [注意]先利用二分查找扎到一个值然后再顺序遍历的做法时间复杂度也是O(n)O(n)O(n),代码也 ...
- 剑指offer:数字在排序数组中出现的次数
题目描述 统计一个数字在排序数组中出现的次数. 解题思路 暴力求解,没用到排序的已知条件. class Solution { public:int GetNumberOfK(vector<int ...
- 【剑指offer-Java版】38数字在排序数组中出现的次数
数字在排序数组中出现的次数: 最简单粗暴的方法是O(n^2) 可能的解法可以采用二分,首先根据二分找到给定数字在数组中的位置,然后再左右二分,找到边界(第一个和最后一个),左右边界的差值就是出现次数 ...
- 剑指Offer(Java版):数字在排序数组中出现的次数
2019独角兽企业重金招聘Python工程师标准>>> 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组为 {1,2,3,3,,3,3,4,5}和数字3,由于3在这个数组中 ...
- 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数
一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...
- 《剑指offer》数字在排序数组中出现的次数
题目:统计一个数字在排序数组中出现的次数. 解析:不要怀疑你的眼睛,也不用怀疑这题目难度,直接干! public class Solution {public int GetNumberOfK(int ...
- 剑指Offer值数字在排序数组中出现的次数
题目描述 统计一个数字在排序数组中出现的次数. 解题思路 看到排序立马想到二分,利用STL的upper_bound与lower_bound处理即可.复杂度是O(logN)O(\log N)O(log ...
最新文章
- 先进的NumPy数据科学
- python登录豆瓣_python登录豆瓣,发帖
- installshield 脚本 在卸载过程执行_Linux下运行Jmeter脚本
- android升级异常,升级AndroidX遇到的问题
- css3 Gradient背景
- 仓库货位卡标识牌_仓库应如何规划?
- 用 keepalived 搭建高可用集群之 IP Failover
- 读《DOOM启示录》随想
- Java 版学生成绩管理系统,附源码
- Hadoop面试题(一)
- html 给word插入页眉和页脚,如何在Word插入页眉和页脚
- 软件公司是如何招聘人才的?
- 《自控力》——凯利.麦格尼格尔
- 浏览器网页视频怎么快速下载到本地?
- FPGA学习笔记(八)同步/异步信号的打拍分析处理及亚稳态分析
- Python学习笔记第二十九天(N维数组(ndarray))
- 2019.01.17【BZOJ4399】 魔法少女LJJ(FHQ_treap)(ODT)
- 3D激光SLAM:LeGO-LOAM---两步优化的帧间里程计及代码分析
- android cpu负载 工具,【专家专栏】Android性能测试之CPU
- APP混合应用之web页面处理
热门文章
- php file_get_contents()请求某个链接
- 误区30日谈21-24
- 成功加入微软GDI计划
- java中错误的源文件_如果我的Java源文件中存在语法错误,为什么Eclipse会生成.class文件?...
- 怎么让网页中的文字两边留出空白_横线、方格、点阵、空白本,谁才是笔记本中的C位?...
- vue 文字转语音mp3_阿里云tts 将文字转换成语音
- python中redirect_详解如何用django实现redirect的几种方法总结
- java 圆形碰撞箱_你会使用“碰撞箱”吗?5种你不知道的玩法 甚至能定位死亡方位...
- android逆透视变换坐标,android – 如何使用OpenGL模拟OpenCV的warpPerspective功能(透视变换)...
- 小米台灯底座接口很松_小米黑科技,AirPods和小米10 Pro伴侣,ZMI无线充蓝牙音箱体验...