国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

問題 C: 二分查找右側(cè)邊界(C++)(二分查找)

這篇具有很好參考價(jià)值的文章主要介紹了問題 C: 二分查找右側(cè)邊界(C++)(二分查找)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

1.題目描述

2.AC


1.題目描述

問題 C: 二分查找右側(cè)邊界

時(shí)間限制:?1.000?Sec??內(nèi)存限制:?128 MB
提交?狀態(tài)

題目描述

請(qǐng)?jiān)谝粋€(gè)有序不遞減的數(shù)組中(數(shù)組中的值有相等的值),采用二分查找,找到最后1次出現(xiàn)值x的位置,如果不存在x請(qǐng)輸出-1。
請(qǐng)注意:本題要求出q個(gè)x,每個(gè)x在數(shù)組中第一次出現(xiàn)的位置。
比如有6個(gè)數(shù),分別是:1 2 2 2 3 3,那么如果要求3個(gè)數(shù):3 2 5,在數(shù)組中最后一次出現(xiàn)的位置,答案是:6 4 -1。

輸入

第一行,一個(gè)整數(shù)n,代表數(shù)組元素個(gè)數(shù)(n <= 105)
第二行,n個(gè)整數(shù),用空格隔開,代表數(shù)組的n個(gè)元素(1<=數(shù)組元素的值<=108)
第三行,一個(gè)整數(shù)q,代表有要求出q個(gè)數(shù)最后一次出現(xiàn)的位置(q<=105)
第四行,q個(gè)整數(shù),用空格隔開,代表要找的數(shù)(1<=要找的數(shù)<=108)

輸出

按題意輸出位置或者-1。

樣例輸入?Copy

6
1 2 2 2 3 3
3
3 2 5

樣例輸出?Copy文章來源地址http://www.zghlxwxcb.cn/news/detail-438628.html

6 4 -1

2.AC

#include <iostream>
#include <cstdio>
using namespace std;
int n, q;
int a[100005];
int main () {
	scanf("%d", &n);
	for (int i = 1; i <= n; i++) {
		scanf("%d", &a[i]);
	}
	scanf("%d", &q);
	for (int i = 1; i <= q; i++) {
		int x;
		scanf("%d", &x);
		int l = 1, r = n;
		while (l <= r) {
			int mid = l + (r - l) / 2;
			if (x >= a[mid]) {
				l = mid + 1;
			} else if (x < a[mid]) {
				r = mid - 1;
			}
		}
		if (a[r]==x) printf("%d", r);
		else printf("-1");
		if (i!=q) printf(" ");
	}
	
}

到了這里,關(guān)于問題 C: 二分查找右側(cè)邊界(C++)(二分查找)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C++二分查找算法:132 模式枚舉3

    C++二分查找算法:132 模式枚舉3

    本篇是視頻課程的講義,可以看直接查看視頻。也可以下載源碼,包括空源碼。 二分查找算法合集 包括題目及代碼 C++二分查找算法:132 模式解法一枚舉3 C++二分查找算法:132 模式解法二枚舉2 代碼最簡(jiǎn)潔 C++二分查找算法:132 模式解法三枚舉1 性能最佳 C++單調(diào)向量算法:1

    2024年02月04日
    瀏覽(19)
  • 二分查找的兩種形式(C++實(shí)現(xiàn))

    二分查找的兩種形式(C++實(shí)現(xiàn))

    現(xiàn)在有一個(gè)這樣的問題需要求解 題目要求:給定一個(gè)n個(gè)元素的(升序)整型數(shù)組nums和一個(gè)目標(biāo)值target,寫一個(gè)函數(shù)搜索nums中的target,如果目標(biāo)值存在返回下標(biāo),否則返回-1 示例 繼上次寫完二分查找后,又在網(wǎng)上查看了其他資料,發(fā)現(xiàn)二分查找其實(shí)常用的有兩種寫法,這篇

    2024年02月03日
    瀏覽(21)
  • C++二分查找算法的應(yīng)用:最長(zhǎng)遞增子序列

    C++二分查找算法的應(yīng)用:最長(zhǎng)遞增子序列

    C++二分算法應(yīng)用:最長(zhǎng)遞增子序列 二分查找算法合集 單調(diào)映射 點(diǎn)擊下載源碼 給你一個(gè)整數(shù)數(shù)組 nums ,找到其中最長(zhǎng)嚴(yán)格遞增子序列的長(zhǎng)度。 子序列 是由數(shù)組派生而來的序列,刪除(或不刪除)數(shù)組中的元素而不改變其余元素的順序。例如,[3,6,2,7] 是數(shù)組 [0,3,1,6,2,2,7] 的子

    2024年02月06日
    瀏覽(23)
  • C++二分查找算法:132 模式解法二枚舉2

    C++二分查找算法:132 模式解法二枚舉2

    二分查找算法合集 包括題目及代碼 C++二分查找算法:132 模式解法一枚舉3 C++二分查找算法:132 模式解法二枚舉2 代碼簡(jiǎn)潔 C++二分查找算法:132 模式解法三枚舉1 性能最佳 C++單調(diào)向量算法:132 模式解法三枚舉1 代碼更簡(jiǎn)潔 C++二分查找算法:132模式枚舉3簡(jiǎn)潔版 代碼簡(jiǎn)潔,性能

    2024年02月05日
    瀏覽(18)
  • 【動(dòng)態(tài)規(guī)劃】【二分查找】C++算法 466 統(tǒng)計(jì)重復(fù)個(gè)數(shù)

    【動(dòng)態(tài)規(guī)劃】【二分查找】C++算法 466 統(tǒng)計(jì)重復(fù)個(gè)數(shù)

    視頻算法專題 動(dòng)態(tài)規(guī)劃匯總 二分查找 定義 str = [s, n] 表示 str 由 n 個(gè)字符串 s 連接構(gòu)成。 例如,str == [“abc”, 3] ==“abcabcabc” 。 如果可以從 s2 中刪除某些字符使其變?yōu)?s1,則稱字符串 s1 可以從字符串 s2 獲得。 例如,根據(jù)定義,s1 = “abc” 可以從 s2 = “abdbec” 獲得,僅需

    2024年01月23日
    瀏覽(24)
  • 【經(jīng)典LeetCode算法題目專欄分類】【第6期】二分查找系列:x的平方根、有效完全平方數(shù)、搜索二位矩陣、尋找旋轉(zhuǎn)排序數(shù)組最小值

    【經(jīng)典LeetCode算法題目專欄分類】【第6期】二分查找系列:x的平方根、有效完全平方數(shù)、搜索二位矩陣、尋找旋轉(zhuǎn)排序數(shù)組最小值

    《博主簡(jiǎn)介》 小伙伴們好,我是阿旭。專注于人工智能AI、python、計(jì)算機(jī)視覺相關(guān)分享研究。 ? 更多學(xué)習(xí)資源,可關(guān)注公-仲-hao:【阿旭算法與機(jī)器學(xué)習(xí)】,共同學(xué)習(xí)交流~ ?? 感謝小伙伴 們點(diǎn)贊、關(guān)注! class ? Solution : ???? def ? mySqrt ( self , ?x : ? int ) ? - ? int : ??????

    2024年02月04日
    瀏覽(31)
  • LeedCode刷題---二分查找類問題

    LeedCode刷題---二分查找類問題

    顧得泉: 個(gè)人主頁 個(gè)人專欄: 《Linux操作系統(tǒng)》??《C/C++》??《LeedCode刷題》 鍵盤敲爛,年薪百萬! 題目鏈接: 二分查找 ???????給定一個(gè)? n ?個(gè)元素有序的(升序)整型數(shù)組? nums ?和一個(gè)目標(biāo)值? target ??,寫一個(gè)函數(shù)搜索? nums ?中的? target ,如果目標(biāo)值存在返回

    2024年02月04日
    瀏覽(21)
  • 【動(dòng)態(tài)規(guī)劃】【二分查找】【C++算法】730. 統(tǒng)計(jì)不同回文子序列

    【動(dòng)態(tài)規(guī)劃】【二分查找】【C++算法】730. 統(tǒng)計(jì)不同回文子序列

    視頻算法專題 動(dòng)態(tài)規(guī)劃匯總 二分查找算法合集 給你一個(gè)字符串 s ,返回 s 中不同的非空回文子序列個(gè)數(shù) 。由于答案可能很大,請(qǐng)返回對(duì) 109 + 7 取余 的結(jié)果。 字符串的子序列可以經(jīng)由字符串刪除 0 個(gè)或多個(gè)字符獲得。 如果一個(gè)序列與它反轉(zhuǎn)后的序列一致,那么它是回文序列

    2024年01月19日
    瀏覽(21)
  • C++二分查找算法:有序矩陣中的第 k 個(gè)最小數(shù)組和

    C++二分查找算法:有序矩陣中的第 k 個(gè)最小數(shù)組和

    二分查找算法合集 C++二分查找算法:查找和最小的 K 對(duì)數(shù)字 十分接近m恒等于2 給你一個(gè) m * n 的矩陣 mat,以及一個(gè)整數(shù) k ,矩陣中的每一行都以非遞減的順序排列。 你可以從每一行中選出 1 個(gè)元素形成一個(gè)數(shù)組。返回所有可能數(shù)組中的第 k 個(gè) 最小 數(shù)組和。 示例 1: 輸入:

    2024年02月05日
    瀏覽(23)
  • C++ upper_bound()和lower_bound()(二分查找中使用)的定義,使用方法和區(qū)別

    C++ upper_bound()和lower_bound()是涉及二分查找問題一個(gè)很好用的工具,熟練使用就不用為二分查找的邊界發(fā)愁了(不用重復(fù)造輪子了) upper_bound有兩種調(diào)用方式: 注意: 前兩個(gè)參數(shù)是ForwardIterator 類型(這個(gè)一般比較容易滿足,各種RandomAccessIterator都滿足,而最常見的對(duì)vector排序

    2024年02月11日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包