牛客题霸 二分查找 C++题解/答案

牛客题霸 二分查找 C++题解/答案

题目描述

请实现有重复数字的有序数组的二分查找。
输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一。
示例1
输入
复制
5,4,[1,2,4,4,5]
返回值
复制
3

题解:

二分模板题
如果是学竞赛的应该很懂
二分的本质就像是翻字典,一开始l=0,r=n,先翻到最中间(mid=(r+l)/2),然后看目标单词是在左侧还是右测,如果是在左侧,我们就继续翻左侧的中间页,重复上述操作,l=0,r=mid-1,mid=(l+r)>>1

代码:

class Solution {
public:/*** 二分查找* @param n int整型 数组长度* @param v int整型 查找值* @param a int整型vector 有序数组* @return int整型*/int upper_bound_(int n, int v, vector<int>& a) {// write code hereint l=0;int r=n-1;if(a[n-1]<v)return n+1;while(l<=r){int mid=(l+r)>>1;//if(a[mid]==v)return mid+1;if(a[mid]<v)l=mid+1;else r=mid-1;}return l+1;}
};

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

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

相关文章

CF1446F-Line Distance【计算几何,树状数组,二分】

正题 题目链接:https://www.luogu.com.cn/problem/CF1446F 题目大意 给出nnn个点&#xff0c;求所有点对构成的直线中与原点距离第kkk小的距离 2≤n≤105,1≤k≤n(n−1)22\leq n\leq 10^5,1\leq k\leq \frac{n(n-1)}{2}2≤n≤105,1≤k≤2n(n−1)​ 解题思路 二分还是挺显然的…

牛客题霸 判断链表中是否有环 C++题解/答案

牛客题霸 判断链表中是否有环 C题解/答案 题目描述 判断给定的链表中是否有环 扩展&#xff1a; 你能给出空间复杂度的解法么&#xff1f; 题解&#xff1a; 在这介绍一个简便的方法&#xff1a;快慢指针 就是&#xff1a;一个指针走两步&#xff0c;一个指针走一步 快慢指…

为什么是容器,Docker和Kubernetes?

如果你是一名IT行业的从业者&#xff0c;还没有听说过以上3个词的任何一个&#xff0c;抱歉&#xff0c;你可以改行了&#xff1b;如果你是一名技术人员&#xff0c;无论你是程序员&#xff0c;测试人员&#xff0c;运维工程师还是时髦的DevOps工程师&#xff0c;你还没有运行过…

P2685 [TJOI2012]桥(最短路+线段树)

P2685 [TJOI2012]桥 xcxcli题解 下面思路仿照上述题解&#xff0c;代码基本照抄上述题解 u⇝vu\leadsto vu⇝v表示uuu到vvv的最短路 u→vu\to vu→v表示uuu和vvv直接相连的边 d1ud1_ud1u​表示1⇝u1\leadsto u1⇝u的最短路 dnudn_udnu​表示n⇝vn\leadsto vn⇝v的最短路 题意化…

牛客题霸 [斐波那契数列] C++题解/答

斐波那契数列 题目描述 大家都知道斐波那契数列&#xff0c;现在要求输入一个整数n&#xff0c;请你输出斐波那契数列的第n项&#xff08;从0开始&#xff0c;第0项为0&#xff0c;第1项是1&#xff09;。 n<39 题解&#xff1a; 斐波那契数列。。递推的基础题目 众所周…

一份来自28岁.NET老程序员的自白

写在前面很幸运&#xff0c;28岁的我头发还没有掉光&#xff0c;更幸运的是28岁的我开始了博客园的写作生活&#xff01;这样的技术分享经历让我拓展了自己的朋友圈&#xff01;有幸结识了像张善友张队&#xff08;连续13年的微软MVP&#xff09;&#xff0c;大石头(NewLife团队…

P5825-排列计数【EGF,NTT】

正题 题目链接:https://www.luogu.com.cn/problem/P5825 题目大意 对于每个kkk&#xff0c;求有多少个长度为nnn的排列有kkk个位置上升。 1≤n≤21051\leq n\leq 2\times 10^51≤n≤2105 解题思路 考虑到同时考虑大于和小于十分麻烦&#xff0c;设fif_ifi​表示钦定iii个上升…

牛客题霸 [数组中出现次数超过一半的数字] C++题解/答案

牛客题霸 [数组中出现次数超过一半的数字] C题解/答案 题解&#xff1a; 题意很明确 跑一遍for循环&#xff0c;统计每个数出现的大小 然后再跑一边循环&#xff0c;查看是否存在大于一半的情况 注意题目要求是大于&#xff0c;没有等于 代码&#xff1a; class Solution {…

2725. [Violet 6]故乡的梦(删边最短路同[TJOI2012]桥)

2725. [Violet 6]故乡的梦 和P2685 [TJOI2012]桥可以说是一模一样&#xff0c;判断u,vu,vu,v是否在最短路径上可以利用之前预处理的id[]详细看代码。 #include<map> #include<queue> #include<cstring> #include<iostream> #include<algorithm>…

谈谈.NET Core中基于Generic Host来实现后台任务

前言很多时候&#xff0c;后台任务对我们来说是一个利器&#xff0c;帮我们在后面处理了成千上万的事情。在.NET Framework时代&#xff0c;我们可能比较多的就是一个项目&#xff0c;会有一到多个对应的Windows服务&#xff0c;这些Windows服务就可以当作是我们所说的后台任务…

P3971-[TJOI2014]Alice and Bob【贪心】

正题 题目链接:https://www.luogu.com.cn/problem/P3971 题目大意 一个1∼n1\sim n1∼n的一个排列&#xff0c;设aia_iai​表示以iii结尾的最长上升子序列长度&#xff0c;bib_ibi​表示以iii开头的最长下降子序列长度。 给出序列aaa求序列bbb的最大和。 1≤n≤1051\leq n\l…

牛客题霸 [平衡二叉树] C++题解/答案

牛客题霸 [平衡二叉树] C题解/答案 题目描述 输入一棵二叉树&#xff0c;判断该二叉树是否是平衡二叉树。 在这里&#xff0c;我们只需要考虑其平衡性&#xff0c;不需要考虑其是不是排序二叉树 题解&#xff1a; 今天上数据结构刚考了平衡二叉树 平衡二叉树定义(AVL)&…

2018 KubeCon + CloudNativeCon完美落幕,行云献力

2018年11月13-15日&#xff0c;由云原生计算基金会&#xff08;CNCF&#xff09;组织的KubeConCloudNativeCon首次登陆中国。经过了三天的技术交流和展示&#xff0c;大会随着15日下午最后一个议程的结束而完美落幕。作为云原生领域全球最大的峰会&#xff0c;KubeConCloudNati…

atcoder E - Greedy Ant(最优解等价+dp)

E - Greedy Ant Grice题解最开始看不懂神的思路&#xff0c;还评论请教了一波应该是个集训队大佬QaQ snuke在当前轮直接选取&#xff0c;那么状态会非常不好记录 我们保留snuke在之前轮&#xff0c;选择放弃暂时不选的次数&#xff0c;然后等蚂蚁走到这来了再选 虽然这个跟原游…

P4884-多少个1?【BSGS】

正题 题目链接:https://www.luogu.com.cn/problem/P4884 题目大意 求一个最小的nnn使得nnn个连续的111其在模mmm意义下等于kkk。 6≤m≤1011,0<k<m6\leq m\leq 10^{11},0<k<m6≤m≤1011,0<k<m 解题思路 补一道老题 nnn个连续的111就是10n−19\frac{10^n-1…

牛客题霸 [进制转换] C++题解/答案

进制转换 题目描述 给定一个十进制数M&#xff0c;以及需要转换的进制数N。将十进制数M转化为N进制数 题解&#xff1a; 看似简单的进制转换套路非常多 1.M是32位整数&#xff0c;有可能是负数&#xff0c;所以还要特判一下 2.N的范围是[2,16]&#xff0c;大于10要用ABCD来…

魔方Newlife.Cube权限系统的使用及模版覆盖详解

讲人&#xff1a;大石头时间&#xff1a;2018-11-14 晚上20&#xff1a;00地点&#xff1a;钉钉群&#xff08;组织代码BKMV7685&#xff09;QQ群&#xff1a;1600800内容&#xff1a;魔方Newlife.Cube权限系统的使用及模版覆盖详解准备源码地址: https://github.com/NewLifeX/…

P4383 [八省联考2018]林克卡特树(树形dp+wqs二分)

[八省联考2018]林克卡特树 题目大意&#xff1a;给定一棵有负权边的树&#xff0c;现在必须恰好删去kkk条边&#xff0c;并加上恰好kkk条权值为000的边&#xff0c;要求最大化它的直径长度。 首先考虑删去KKK条边的效果&#xff1a;把整棵树变成k1k1k1个连通块 然后用0权变把这…

bzoj4025-二分图【线段树分治,并查集】

正题 题目链接:https://darkbzoj.tk/problem/4025 题目大意 nnn个点mmm条边&#xff0c;每条边会在一个TTT以内的时间段内出现&#xff0c;对于任意一个TTT以内的时刻求图是否是一个二分图。 1≤n,T≤105,1≤m≤21051\leq n,T\leq 10^5,1\leq m\leq 2\times 10^51≤n,T≤105,1…

牛客题霸 [删除有序链表中重复的元素] C++题解/答案

牛客题霸 [删除有序链表中重复的元素] C题解/答案 题目描述 删除给出链表中的重复元素&#xff08;链表中元素从小到大有序&#xff09;&#xff0c;使链表中的所有元素都只出现一次 例如&#xff1a; 给出的链表为1\to1\to21→1→2,返回1 \to 21→2. 给出的链表为1\to1\to 2 \…