欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

go語(yǔ)言題解LeetCode228匯總區(qū)間示例詳解

 更新時(shí)間:2022年12月30日 14:49:12   作者:劉09k11  
這篇文章主要為大家介紹了go語(yǔ)言題解LeetCode228匯總區(qū)間示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

題目描述

原題鏈接 :

228. 匯總區(qū)間

給定一個(gè)  無(wú)重復(fù)元素 的 有序 整數(shù)數(shù)組 nums 。

返回 恰好覆蓋數(shù)組中所有數(shù)字 的 最小有序 區(qū)間范圍列表 。也就是說(shuō),nums 的每個(gè)元素都恰好被某個(gè)區(qū)間范圍所覆蓋,并且不存在屬于某個(gè)范圍但不屬于 nums 的數(shù)字 x

列表中的每個(gè)區(qū)間范圍 [a,b] 應(yīng)該按如下格式輸出:

  • "a->b" ,如果 a != b
  • "a" ,如果 a == b  

示例 1:

輸入:nums = [0,1,2,4,5,7]
輸出:["0->2","4->5","7"]
解釋:區(qū)間范圍是:
[0,2] --> "0->2"
[4,5] --> "4->5"
[7,7] --> "7"

示例 2:

輸入:nums = [0,2,3,4,6,8,9]
輸出:["0","2->4","6","8->9"]
解釋:區(qū)間范圍是:
[0,0] --> "0"
[2,4] --> "2->4"
[6,6] --> "6"
[8,9] --> "8->9"

提示:

0 <= nums.length <= 20

-2^31 <= nums[i] <= 2^31 - 1

  • nums 中的所有值都 互不相同
  • nums 按升序排列

思路分析

本題思路比較明晰,設(shè)立雙指針,一前一后遍歷數(shù)組,當(dāng)遇到結(jié)果不是有序遞增,即nums[j]+1 != nums[j+1]時(shí),中斷數(shù)組,從i,到j(luò)進(jìn)行條件判斷插入字符串,插入完之后,將i移動(dòng)到j(luò)后面那個(gè)位置,即i = j + 1。

本題難點(diǎn)在于邊界處理,因?yàn)樯婕暗絡(luò)+1,遍歷時(shí)只能遍歷到n-1,最后一位需要依照相同的思路重新判斷一遍,如果數(shù)組為空或者只有一個(gè)元素,循環(huán)語(yǔ)句也不好判斷,因?yàn)闊o(wú)法與第二個(gè)元素相比較。有評(píng)論使用逃課方法,即在數(shù)組后額外安插一個(gè)整型最大值,但這樣的方法如果數(shù)組原本最后一個(gè)元素是最大值-1時(shí),會(huì)導(dǎo)致結(jié)果錯(cuò)誤不能使用。

AC 代碼

vector<string> summaryRanges(vector<int> &nums) {
	vector<string> s;
	if (nums.size() == 0)
		return s;
	if (nums.size() == 1) {
		s.push_back(to_string(nums[0]));
		return s;
	}
	int i = 0, j = 0, n = nums.size();
	string t;
	for (; j < n - 1; j++) {
		if (nums[j] + 1 != nums[j + 1]) {
			if (i == j)
				s.push_back(to_string(nums[i]));
			else
				s.push_back(to_string(nums[i]) + "->" + to_string(nums[j]));
			i = j + 1;
		}
	}
	if (i == j)
		s.push_back(to_string(nums[i]));
	else
		s.push_back(to_string(nums[i]) + "->" + to_string(nums[j]));
	return s;
}

以上就是go語(yǔ)言題解LeetCode228匯總區(qū)間示例詳解的詳細(xì)內(nèi)容,更多關(guān)于go語(yǔ)言匯總區(qū)間的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go語(yǔ)言之io.ReadAtLeast函數(shù)的基本使用和原理解析

    Go語(yǔ)言之io.ReadAtLeast函數(shù)的基本使用和原理解析

    io.ReadAtLeast函數(shù)是Go語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供的一個(gè)工具函數(shù),能夠從數(shù)據(jù)源讀取至少指定數(shù)量的字節(jié)數(shù)據(jù)到緩沖區(qū)中,這篇文章主要介紹了io.ReadAtLeast函數(shù)的相關(guān)知識(shí),需要的朋友可以參考下
    2023-07-07
  • golang利用不到20行代碼實(shí)現(xiàn)路由調(diào)度詳解

    golang利用不到20行代碼實(shí)現(xiàn)路由調(diào)度詳解

    這篇文章主要給大家介紹了關(guān)于golang利用不到20行代碼實(shí)現(xiàn)路由調(diào)度的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • go web 預(yù)防跨站腳本的實(shí)現(xiàn)方式

    go web 預(yù)防跨站腳本的實(shí)現(xiàn)方式

    這篇文章主要介紹了go web 預(yù)防跨站腳本的實(shí)現(xiàn)方式,文中給大家介紹XSS最佳的防護(hù)應(yīng)該注意哪些問(wèn)題,本文通過(guò)實(shí)例代碼講解的非常詳細(xì),需要的朋友可以參考下
    2021-06-06
  • golang 接口嵌套實(shí)現(xiàn)復(fù)用的操作

    golang 接口嵌套實(shí)現(xiàn)復(fù)用的操作

    這篇文章主要介紹了golang 接口嵌套實(shí)現(xiàn)復(fù)用的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • golang interface判斷為空nil的實(shí)現(xiàn)代碼

    golang interface判斷為空nil的實(shí)現(xiàn)代碼

    這篇文章主要介紹了golang interface判斷為空nil的實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • 解決golang 反射interface{}做零值判斷的一個(gè)重大坑

    解決golang 反射interface{}做零值判斷的一個(gè)重大坑

    這篇文章主要介紹了解決golang 反射interface{}做零值判斷的一個(gè)重大坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • 詳解Golang中Requests包的使用

    詳解Golang中Requests包的使用

    Go的net/http包雖然功能強(qiáng)大、用途也廣告,但要想正確的使用請(qǐng)求的客戶端是非常繁瑣的,所以本文和大家分享一個(gè)高效的HTTP的請(qǐng)求包c(diǎn)arlmjohnson/requests的使用,需要的小伙伴可以了解一下
    2023-06-06
  • 詳解在Go語(yǔ)言單元測(cè)試中如何解決Redis存儲(chǔ)依賴問(wèn)題

    詳解在Go語(yǔ)言單元測(cè)試中如何解決Redis存儲(chǔ)依賴問(wèn)題

    在編寫單元測(cè)試時(shí),除了?MySQL?這個(gè)外部存儲(chǔ)依賴,Redis?應(yīng)該是另一個(gè)最為常見的外部存儲(chǔ)依賴了,本文就來(lái)講解下如何解決?Redis?外部依賴,文章通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • 使用go mod導(dǎo)入本地自定義包問(wèn)題

    使用go mod導(dǎo)入本地自定義包問(wèn)題

    這篇文章主要介紹了使用go mod導(dǎo)入本地自定義包問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • go面向?qū)ο蠓绞讲僮鱆SON庫(kù)實(shí)現(xiàn)四則運(yùn)算

    go面向?qū)ο蠓绞讲僮鱆SON庫(kù)實(shí)現(xiàn)四則運(yùn)算

    這篇文章主要為大家介紹了go面向?qū)ο蠓绞讲僮鱆SON庫(kù)實(shí)現(xiàn)四則運(yùn)算的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07

最新評(píng)論