LeetCode 1287. 有序数组中出现次数超过25%的元素

1. 题目

给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。

请你找到并返回这个整数

示例:
输入:arr = [1,2,2,6,6,6,6,7,10]
输出:6提示:
1 <= arr.length <= 10^4
0 <= arr[i] <= 10^5

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/element-appearing-more-than-25-in-sorted-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 暴力计数查找
class Solution {
public:int findSpecialInteger(vector<int>& arr) {int i, n, prev = arr[0], count = 1;n = arr.size()/4+1;for(i = 1; i < arr.size(); ++i){if(arr[i] == prev){count++;if(count >= n)return prev;}else{count = 1;prev = arr[i];}}return prev;}
};

12 ms 9.4 MB


  • 距离25%的前后位置如果发现相同的数值,即找到
class Solution {
public:int findSpecialInteger(vector<int>& arr) {int i, n = arr.size()/4;for(i = n; i < arr.size()-n; i++){if(arr[i-n] == arr[i] || arr[i] == arr[i+n])return arr[i];}return -1;}
};

二分查找

class Solution {
public:int findSpecialInteger(vector<int>& arr) {int i, n = arr.size()/4+1;for(i = 0; i < arr.size(); i+=n){auto l = lower_bound(arr.begin(),arr.end(),arr[i]);auto r = upper_bound(arr.begin(),arr.end(),arr[i]);if(r-l >= n)return arr[i];}return -1;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你真的知道一个HTML及资源是如何load的吗(了解各个部分是何时下载和执行的)

你真的知道一个HTML及资源是如何load的吗(了解各个部分是何时下载和执行的)2009-12-03 01:09 by Tower Joo, 3741 visits, 网摘, 收藏, 编辑 你真的知道一个HTML及资源是如何load的吗(了解各个部分是何时下载和执行的) 本博客所有内容采用 Creative Commons Licenses 许可使用.…

vue开发手机页面闪烁_Vue页面加载闪烁问题的解决方法_婳祎_前端开发者

v-if 和 v-show 的区别v-if只会在满足条件时才会编译&#xff0c;而v-show不管是否满足条件始终会编译&#xff0c;v-show的显示与隐藏只是简单的切换也就是说&#xff0c;在使用v-if时&#xff0c;若值为false&#xff0c;那么页面将不会有这个使用场景一般来说&#xff0c;v-…

知识图谱论文阅读(二十一)【SIGIR2019】NGCF: Neural Graph Collaborative Filtering

题目&#xff1a;Neural Graph Collaborative Filtering 代码&#xff1a; https://github.com/xiangwang1223/neural_graph_collaborative_filtering 本文参考了博文 想法 &#xff08;1&#xff09;其实是很有缺点&#xff0c;在消息传播中&#xff0c;只是使用了邻居与目…

[推荐]VMware Workstation 6.5虚拟机(汉化补丁+注册机+原版安装文件)

VMware虚拟机6.5 新版虚拟机过了近一年的开发&#xff0c;VMware Workstation 6.5终于正式发布了。 这个增强版的Vmware Workstation 6.5不仅将3D加速带到了虚拟机平台&#xff0c;而且新增的Unity模式更是改变了虚拟机应用的模式。 VMware Workstation 6.5新特性有&#xff1a…

bootstrap获取弹框数据_Bootstrap模态弹出框的实例教程

前面的话在 Bootstrap 框架中把模态弹出框统一称为 Modal。这种弹出框效果在大多数 Web 网站的交互中都可见。比如点击一个按钮弹出一个框&#xff0c;弹出的框可能是一段文件描述&#xff0c;也可能带有按钮操作&#xff0c;也有可能弹出的是一张图片。本文将详细介绍Bootstra…

知识图谱论文阅读(二十三)【SIGIR2020】Multi-behavior Recommendation with Graph Convolutional Networks

题目&#xff1a; Multi-behavior Recommendation with Graph Convolutional Networks 论文地址&#xff1a; 论文代码&#xff1a; 想法 将相同行为的交互方式进行了聚合来计算user Embedding和item Embedding 创新 模型要做的事情就是user-item传播层学习行为影响力度&am…

LeetCode 1200. 最小绝对差

1. 题目 给你个整数数组 arr&#xff0c;其中每个元素都 不相同。 请你找到所有具有最小绝对差的元素对&#xff0c;并且按升序的顺序返回。 示例 1&#xff1a; 输入&#xff1a;arr [4,2,1,3] 输出&#xff1a;[[1,2],[2,3],[3,4]]示例 2&#xff1a; 输入&#xff1a;ar…

在mojoportal项目中发邮件使用的是dotnetopenmail

[翻译]开源发送邮件组件dotnetopenmail使用介绍 在mojoportal项目中发邮件使用的是dotnetopenmail介绍发邮件是非常简单的,不管用System.web.mail [ASP.NET 1.1]或System.Net.mail [ASP.NET 2.0],但是还是有其他第三方组件可以被使用,比如DotNetOpenMail.他可以使你用最少的代码…

怎么看表_干货 | 剪力墙、柱、板配筋率到底怎么算?

干货 | 剪力墙、柱、板配筋率到底怎么算&#xff1f;正在努力的阿源 北京峰源结构设计 剪力墙&#xff08;纯剪力墙&#xff09;1.一般部位墙厚高规7.2.1条及抗规6.4.1条&#xff0c;对于一般部位&#xff0c;一、二级不应小于160mm且不宜小于层高或无支长度的1/20&#xff0c;…

(二十四)【2021 ACL】OntoED: Low-resource Event Detection with Ontology Embedding

题目&#xff1a; OntoED: Low-resource Event Detection with Ontology Embedding 论文链接&#xff1a; https://arxiv.org/abs/2105.10922 论文代码&#xff1a;https://github.com/231sm/Reasoning_In_EE 论文 什么原型&#xff1f; Prototypical networks for few-shot …

哈尔滨理工C语言程序设计精髓_【注意啦】哈尔滨工业大学2020考研计算机专业课调整,难度提升!...

前言&#xff1a;最近各高校在密集调整计算机相关专业的专业课&#xff0c;从热门985高校、211高校到普通本科&#xff0c;许多学校的专业课都进行了调整。各高校通常会发布专业课调整通知或者直接发布2020研究生招生专业目录&#xff0c;请各位同学多多关注相关信息。哈尔滨工…

数据恢复软件(绝对真实可用)

本软件已经本人测试&#xff0c;这个数据恢复软件是我用过的感觉最好用的一个了。声明&#xff1a;我是在我电脑没有重装系统的前提下进行测试的。小小的这么一个绿色软件&#xff0c;还真的可以找回大部分删除了N久的文件。感觉很爽。现给大家展示几张我测试时的截图&#xff…

LeetCode 1221. 分割平衡字符串

1. 题目 在一个「平衡字符串」中&#xff0c;‘L’ 和 ‘R’ 字符的数量是相同的。 给出一个平衡字符串 s&#xff0c;请你将它分割成尽可能多的平衡字符串。 返回可以通过分割得到的平衡字符串的最大数量。 示例 1&#xff1a; 输入&#xff1a;s "RLRRLLRLRL"…

安装pp框架

第一步&#xff1a; 创建环境 conda create --name pp37 python3.7 第二步&#xff1a; 激活环境 conda activate pp37 第三步&#xff1a; 官方安装 conda install paddlepaddle-gpu2.1.3 cudatoolkit10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/clou…

基础算法学习(二)_二叉树及应用赫夫曼编码

这次学习的重点在于二叉树的性质、链式存储结构&#xff08;也就是C语言的struct&#xff09;和赫夫曼编码&#xff0c;学习的教材是清华大学出版社出版的C语言版数据结构。 首先是二叉树&#xff1a; 二叉树&#xff08;Binary Tree&#xff09;是另一种树形结构&#xff…

LeetCode 1222. 可以攻击国王的皇后(set)

1. 题目 在一个 8x8 的棋盘上&#xff0c;放置着若干「黑皇后」和一个「白国王」。 「黑皇后」在棋盘上的位置分布用整数坐标数组 queens 表示&#xff0c;「白国王」的坐标用数组 king 表示。 「黑皇后」的行棋规定是&#xff1a;横、直、斜都可以走&#xff0c;步数不受限…

win10开始菜单添加磁贴_Windows 10开始菜单磁贴美化教程

前言我们都知道&#xff0c;Windows 10在美化上可没有下足功夫&#xff0c;尤其是开始菜单的磁贴上。几年前&#xff0c;我们还觉得这种磁贴设计在大众面前焕然一新&#xff0c;可是近几年来&#xff0c;也没见磁贴有什么起色&#xff0c;除了不能自定义背景颜色外&#xff0c;…

【Text_Classification】学习到的语法知识

1. 任务 1.1 字典中每个种类的准确率 分母&#xff1a; 首先计算每个种类的总数&#xff01; for value in label:# get(value, num)函数的作用是获取字典中value对应的键值, num0指示初始值大小。label_cout[value] label_cout.get(value, 0) 1label_acc[value] label_a…

%求余数 rand随机数

//getSeconds() 0-59number new Date().getSeconds() % 3 1; //随机数&#xff0c;从1到3//0-9之间 Math.random()*10var num1 Math.round(Math.random()*10) % 3 随机数&#xff0c;从0到2 任何数%3 得到 0 1 2 任何数%4 得到 0 1 2 3转载于:https://www.cnblogs.com/reo…

LeetCode 1217. 玩筹码(脑筋急转弯)

1. 题目 数轴上放置了一些筹码&#xff0c;每个筹码的位置存在数组 chips 当中。 你可以对 任何筹码 执行下面两种操作之一&#xff08;不限操作次数&#xff0c;0 次也可以&#xff09;&#xff1a; 将第 i 个筹码向左或者右移动 2 个单位&#xff0c;代价为 0。将第 i 个筹…