剑指offer 数字在排序数组中出现的次数
题目描述
思路:看到排序数组,首先考虑二分查找。我们找到数字在排序数组中最先出现和最后出现的下标,即得到次数。
1 class Solution { 2 public: 3 int GetNumberOfK(vector<int> data ,int k) { 4 int len = data.size(); 5 int left = 0, right = len - 1, l, r; 6 int mid; 7 // 先找最左边的index,如果data[mid] == k,我们也将right = mid - 1, 8 // 因为我们只要最左边的index,下面找最右边的index也是同理。 9 while (left <= right) { 10 mid = (right - left) / 2 + left; 11 if (data[mid] >= k) { 12 right = mid - 1; 13 } else { 14 left = mid + 1; 15 } 16 } 17 l = left; 18 right = len - 1; 19 while (left <= right) { 20 mid = (right - left) / 2 + left; 21 if (data[mid] <= k) { 22 left = mid + 1; 23 } else { 24 right = mid - 1; 25 } 26 } 27 r = right; 28 return (r - l + 1); 29 } 30 };
转载于:https://www.cnblogs.com/qinduanyinghua/p/10643351.html
剑指offer 数字在排序数组中出现的次数相关推荐
- 剑指offer——数字在排序数组中出现的次数
题目:统计一个数字在排序数组中出现的次数. 方法一:蛮力法 public class Solution {public int GetNumberOfK(int [] array , int k) { ...
- 剑指offer38 数字在排序数组中出现的次数
这种方法没用迭代,而是使用了循环的方式 class Solution { public:int GetNumberOfK(vector<int> data ,int k) {if(data ...
- 剑指 Offer II 070. 排序数组中只出现一次的数字
找出那只单身狗: 正文开始@Assassin 目录: 找出那只单身狗: 1. 题目描述: 2. 思路: 2.1 异或的基本概念: 2.1.1 符号表示: 2.1.2 运算规则: 2.1.3 异或的性质 ...
- 剑指 Offer II 006. 排序数组中两个数字之和
由于题目中数组已经排好序,所以可以用双指针 双指针: i=0,j=nums.size( )-1 当 i<j 时循环,当目标小于target时i++,当目标大于target时,j-- 当目标小于t ...
- 【剑指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版):数字在排序数组中出现的次数
2019独角兽企业重金招聘Python工程师标准>>> 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组为 {1,2,3,3,,3,3,4,5}和数字3,由于3在这个数组中 ...
- 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数
一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...
- 《剑指offer》数字在排序数组中出现的次数
题目:统计一个数字在排序数组中出现的次数. 解析:不要怀疑你的眼睛,也不用怀疑这题目难度,直接干! public class Solution {public int GetNumberOfK(int ...
最新文章
- 微信小程序wxparse内容页显示不出来不能正确解析html代码
- js获取当前日期,包括星期几
- servlet指定时间到现在过了多久_就喝一瓶啤酒,多久能开车?交警:过了这个时间,100%没问题...
- matlab Normally distributed random numbers in two columns
- Lua 脚本内部执行 Redis 命令
- java 文件比较_java 四种写文件比较
- 关于优酷开放SDK中setOnRealVideoStartListener
- 图形大小_PS图形复制——等距复制、旋转复制、大小变换复制
- 为什么dos下的com文件都要org 0100h呢?为什么系统启动时要org 07c00h呢
- winform 只允许显示一个子窗体
- 估算CSDN约有340万用户开通了博客
- bootstrap-table初始数据,页面一直显示“正在努力加载数据中,请稍后“
- Unity3D游戏开发之使用disunity提取Unity3D游戏资源
- block的名词形式_block是什么意思_block在线翻译_英语_读音_用法_例句_海词词典
- 开源的文件服务器有哪些,开源文件服务器
- 中国猫道系统市场趋势报告、技术动态创新及市场预测
- SAP 财务-统驭科目
- 实践课题选题管理(C语言)(选课系统)
- 域名升级访问中拿笔记好_好记性也应做笔记,安利一款比onenote更好用的云笔记工具...
- 93复原IP地址(递归回溯法)