【剑指offer】Q38:数字在数组中出现的次数
与折半查找是同一个模式,不同的是,在这里不在查找某个确定的值,而是查找确定值所在的上下边界。
def getBounder(data, k, start, end, low_bound = False):if end < start : return -1while start <= end:mid = ( start + end ) >> 1if data[ mid ] > k:end = mid - 1elif data[ mid ] < k:start = mid + 1else:if low_bound == True:if mid == 0 or data[ mid - 1 ] != k:return midelse:end = mid - 1else:if mid == end or data[ mid + 1 ] != k:return midelse:start = mid + 1def getNumberOfk(data, k):if len(data) <= 1: return len(data)low_bound = getBounder( data, k, 0, len( data ) - 1, low_bound = True )up_bound = getBounder( data, k, 0, len( data ) - 1, low_bound = False)return up_bound - low_bound + 1
转载于:https://www.cnblogs.com/mengfanrong/p/3886501.html
【剑指offer】Q38:数字在数组中出现的次数相关推荐
- 剑指 Offer 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个高效的函数,输入这样的一个二维数组和一个 ...
- 剑指offer:二维数组中的查找
目录 题目 解题思路 具体代码 题目 题目链接 剑指offer:二维数组中的查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺 ...
- 【LeetCode】剑指 Offer 04. 二维数组中的查找
[LeetCode]剑指 Offer 04. 二维数组中的查找 文章目录 [LeetCode]剑指 Offer 04. 二维数组中的查找 package offer;public class Solu ...
- 利用指针数组计算2个3行4列矩阵的和_[剑指 Offer] 04. 二维数组中的查找
难度:简单 题目链接:剑指 Offer 04. 二维数组中的查找 题目描述: 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数, ...
- 剑指offer面试题[29]-数组中出现次数超过一半的数字
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...
- 剑指offer面试题[40]-数组中只出现一次的数字
题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 注意原题目要求空间复杂度为0(1). 位运算的具体思路可以参看剑指offer. class So ...
- [剑指Offer]5.二维数组中的查找
题目 在一个二维数组中,每一行都依照从左到右递增的顺序排序,每一列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个二维数组和一个整数.推断数组中是否含有该整数. 思路 [算法系列之三十三]杨 ...
- 剑指Offer #01 二维数组中的查找(Java描述)
题目来源:牛客网-剑指Offer专题 题目地址:二维数组中的查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一 ...
- 剑指offer 04.二维数组中的查找 我妹妹都看的懂的方法
⭐欢迎来到剑指offer好题精选专栏,一起学习,一起进步⭐ 题目信息: 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请 ...
- 剑指offer系列——剑指 Offer 04. 二维数组中的查找(C语言)
⭐️前面的话⭐️ 大家好!博主开辟了一个新的专栏--剑指offer,我要开始刷题了!这个专栏会介绍<剑指offer>书上所有的面试编程题.并且会分享一些我的刷题心得.由于博主水平有限,如有 ...
最新文章
- Java中的 Switch 是如何支持 String 的?为什么不支持 long?
- JAVAWEB项目--模拟考试系统数据库设计与实现(二)
- ios 动态监听键盘输入法和高度
- 怎么求平均数_EXCEL怎么求企业连续几年业绩的平均增长率
- android 自定义switch控件,Android中switch自定义样式
- EIP-712 (一个对结构化数据的哈希标准)
- 023、JVM实战总结:一步一图:那JVM老年代垃圾回收器CMS工作时,内部又干了些啥?
- this全面解析(二)
- python数据拟合
- JAVAWeb开发之Servlet-18.Servlet共享变量与变量的作用域
- 【图像检索】基于matlab GUI Hu不变矩图像检索【含Matlab源码 1508期】
- 他们都来全球边缘计算大会了,就差你了!
- 502 Bad Gateway错误
- 各代iphone尺寸_历代iPhone尺寸对比,你最喜欢哪一代?
- 论文阅读《Fast-MVSNet: Sparse-to-Dense Multi-View StereoWith Learned Propagation and Gauss-Newton Refine》
- Eclipse各版本代号一览表以及官网上有很多版本的eclipse,下载哪个版本比较合适呢?
- python对数据集处理,绘制世界地图
- 整理一批 国内外优秀设计团队 设计相关网站
- IDC FutureScape:全球智慧城市2019年预测 - 中国启示
- layui的轮播图片自适应大小_解决Layui 表格自适应高度的问题
热门文章
- 我的RHCA之路随想
- javascript写计数器
- 【Leetcode】103. 二叉树的锯齿形层次遍历
- find 和 findindes
- Ubuntu 11.10 安装Adobe Air 和卸载Air中的软件
- JQ和Js获取span标签的内容
- Ant Design Pro开发后台管理系统(新增页面)
- hive遇到FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误...
- 安卓首页图片轮播效果(淘宝、京东首页广告效果)
- odoo8.0+PyCharm4.5开发环境配置