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

Golang每日一練(leetDay0118) 扁平化嵌套列表迭代器、整數(shù)拆分

這篇具有很好參考價(jià)值的文章主要介紹了Golang每日一練(leetDay0118) 扁平化嵌套列表迭代器、整數(shù)拆分。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Golang每日一練(leetDay0118) 扁平化嵌套列表迭代器、整數(shù)拆分,# Go Leetcode,golang,leetcode

目錄

341. 扁平化嵌套列表迭代器 Flatten Nested List Iterator??????

343. 整數(shù)拆分 Integer Break??????

?? 每日一練刷題專欄???

Rust每日一練 專欄

Golang每日一練 專欄

Python每日一練 專欄

C/C++每日一練 專欄

Java每日一練 專欄


341. 扁平化嵌套列表迭代器 Flatten Nested List Iterator

給你一個(gè)嵌套的整數(shù)列表?nestedList?。每個(gè)元素要么是一個(gè)整數(shù),要么是一個(gè)列表;該列表的元素也可能是整數(shù)或者是其他列表。請(qǐng)你實(shí)現(xiàn)一個(gè)迭代器將其扁平化,使之能夠遍歷這個(gè)列表中的所有整數(shù)。

實(shí)現(xiàn)扁平迭代器類?NestedIterator?:

  • NestedIterator(List<NestedInteger> nestedList)?用嵌套列表?nestedList?初始化迭代器。
  • int next()?返回嵌套列表的下一個(gè)整數(shù)。
  • boolean hasNext()?如果仍然存在待迭代的整數(shù),返回?true?;否則,返回?false?。

你的代碼將會(huì)用下述偽代碼檢測(cè):

initialize iterator with nestedList
res = []
while iterator.hasNext()
    append iterator.next() to the end of res
return res

如果?res?與預(yù)期的扁平化列表匹配,那么你的代碼將會(huì)被判為正確。

示例 1:

輸入:nestedList = [[1,1],2,[1,1]]
輸出:[1,1,2,1,1]
解釋:通過重復(fù)調(diào)用?next 直到?hasNext 返回 false,next?返回的元素的順序應(yīng)該是: [1,1,2,1,1]。

示例 2:

輸入:nestedList = [1,[4,[6]]]
輸出:[1,4,6]
解釋:通過重復(fù)調(diào)用?next?直到?hasNext 返回 false,next?返回的元素的順序應(yīng)該是: [1,4,6]。

提示:

  • 1 <= nestedList.length <= 500
  • 嵌套列表中的整數(shù)值在范圍?[-10^6, 10^6]?內(nèi)

代碼:

package main

import "fmt"

type NestedInteger struct {
	IsInteger bool
	Value     int
	List      []*NestedInteger
}

type NestedIterator struct {
	FlattenedList []int // 扁平化后的列表
	Index         int   // 當(dāng)前迭代位置的索引
}

func Constructor(nestedList []*NestedInteger) *NestedIterator {
	flattenedList := make([]int, 0)
	dfs(nestedList, &flattenedList)
	return &NestedIterator{FlattenedList: flattenedList, Index: -1}
}

// 使用深度優(yōu)先搜索將嵌套列表扁平化
func dfs(nestedList []*NestedInteger, flattenedList *[]int) {
	for _, ni := range nestedList {
		if ni.IsInteger {
			*flattenedList = append(*flattenedList, ni.Value)
		} else {
			dfs(ni.List, flattenedList)
		}
	}
}

func (it *NestedIterator) HasNext() bool {
	return it.Index+1 < len(it.FlattenedList)
}

func (it *NestedIterator) Next() int {
	it.Index++
	return it.FlattenedList[it.Index]
}

func main() {
	nestedList := []*NestedInteger{
		&NestedInteger{IsInteger: false, List: []*NestedInteger{
			&NestedInteger{IsInteger: true, Value: 1},
			&NestedInteger{IsInteger: true, Value: 1},
		}},
		&NestedInteger{IsInteger: true, Value: 2},
		&NestedInteger{IsInteger: false, List: []*NestedInteger{
			&NestedInteger{IsInteger: true, Value: 1},
			&NestedInteger{IsInteger: true, Value: 1},
		}},
	}
	iterator := Constructor(nestedList)
	result := make([]int, 0)
	for iterator.HasNext() {
		result = append(result, iterator.Next())
	}
	fmt.Println(result)

	nestedList = []*NestedInteger{
		&NestedInteger{true, 1, nil},
		&NestedInteger{false, 0, []*NestedInteger{
			&NestedInteger{true, 4, nil},
			&NestedInteger{false, 0, []*NestedInteger{
				&NestedInteger{true, 6, nil},
			}},
		}},
	}
	iterator = Constructor(nestedList)
	result = make([]int, 0)
	for iterator.HasNext() {
		result = append(result, iterator.Next())
	}
	fmt.Println(result)

}

輸出:

[1 1 2 1 1]
[1 4 6]


343. 整數(shù)拆分 Integer Break

給定一個(gè)正整數(shù)?n?,將其拆分為?k?個(gè)?正整數(shù)?的和(?k >= 2?),并使這些整數(shù)的乘積最大化。

返回?你可以獲得的最大乘積?。

示例 1:

輸入: n = 2
輸出: 1
解釋: 2 = 1 + 1, 1 × 1 = 1。

示例?2:

輸入: n = 10
輸出: 36
解釋: 10 = 3 + 3 + 4, 3 ×?3 ×?4 = 36。

提示:

  • 2 <= n <= 58

代碼:

package main

import "fmt"

func integerBreak(n int) int {
	if n <= 3 {
		return n - 1
	}
	dp := make([]int, n+1)
	dp[2] = 1
	for i := 3; i <= n; i++ {
		for j := 1; j < i-1; j++ {
			dp[i] = max(dp[i], max(j*(i-j), j*dp[i-j]))
		}
	}
	return dp[n]
}

func max(a, b int) int {
	if a > b {
		return a
	}
	return b
}

func main() {
	fmt.Println(integerBreak(2))
	fmt.Println(integerBreak(10))
}

輸出:

1
36


?? 每日一練刷題專欄???

? 持續(xù),努力奮斗做強(qiáng)刷題搬運(yùn)工!

?? 點(diǎn)贊,你的認(rèn)可是我堅(jiān)持的動(dòng)力!?

???收藏,你的青睞是我努力的方向!?

? 評(píng)論,你的意見是我進(jìn)步的財(cái)富!??

??主頁(yè):https://hannyang.blog.csdn.net/?

Golang每日一練(leetDay0118) 扁平化嵌套列表迭代器、整數(shù)拆分,# Go Leetcode,golang,leetcode

Rust每日一練 專欄

(2023.5.16~)更新中...

Golang每日一練(leetDay0118) 扁平化嵌套列表迭代器、整數(shù)拆分,# Go Leetcode,golang,leetcode

Golang每日一練 專欄

(2023.3.11~)更新中...

Golang每日一練(leetDay0118) 扁平化嵌套列表迭代器、整數(shù)拆分,# Go Leetcode,golang,leetcode

Python每日一練 專欄

(2023.2.18~2023.5.18)暫停更

Golang每日一練(leetDay0118) 扁平化嵌套列表迭代器、整數(shù)拆分,# Go Leetcode,golang,leetcode

C/C++每日一練 專欄

(2023.2.18~2023.5.18)暫停更

Golang每日一練(leetDay0118) 扁平化嵌套列表迭代器、整數(shù)拆分,# Go Leetcode,golang,leetcode

Java每日一練 專欄

(2023.3.11~2023.5.18)暫停更文章來源地址http://www.zghlxwxcb.cn/news/detail-562859.html

到了這里,關(guān)于Golang每日一練(leetDay0118) 扁平化嵌套列表迭代器、整數(shù)拆分的文章就介紹完了。如果您還想了解更多內(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)文章

  • 022:vue中tree結(jié)構(gòu)數(shù)據(jù)變成扁平化table結(jié)構(gòu)數(shù)據(jù)的示例

    022:vue中tree結(jié)構(gòu)數(shù)據(jù)變成扁平化table結(jié)構(gòu)數(shù)據(jù)的示例

    第022個(gè) 查看專欄目錄: VUE ------ element UI 在vue和element UI聯(lián)合技術(shù)棧的操控下,本專欄提供行之有效的源代碼示例和信息點(diǎn)介紹,做到靈活運(yùn)用。 (1)提供vue2的一些基本操作:安裝、引用,模板使用,computed,watch,生命周期(beforeCreate,created,beforeMount,mounted, beforeUpdate,upda

    2024年02月12日
    瀏覽(24)
  • 【JavaScript】JS能力測(cè)試題:數(shù)組扁平化 | 判斷質(zhì)數(shù) | 獲取字符串的長(zhǎng)度

    ??個(gè)人主頁(yè): 阿選不出來 ??個(gè)人簡(jiǎn)介: 大三學(xué)生,熱愛Web前端,隨機(jī)掉落學(xué)習(xí)碎片 ??目前開發(fā)的專欄: JS ??Vue??React?? ??祝愿今天的你比昨天更加博識(shí)了! 題目描述 請(qǐng)補(bǔ)全JavaScript代碼,要求將數(shù)組參數(shù)中的多維數(shù)組擴(kuò)展為一維數(shù)組并返回該數(shù)組。 注意: 數(shù)組參數(shù)中僅

    2024年02月07日
    瀏覽(26)
  • 5個(gè)常見的前端手寫功能:淺拷貝與深拷貝、函數(shù)柯里化、數(shù)組扁平化、數(shù)組去重、手寫類型判斷函數(shù)

    5個(gè)常見的前端手寫功能:淺拷貝與深拷貝、函數(shù)柯里化、數(shù)組扁平化、數(shù)組去重、手寫類型判斷函數(shù)

    淺拷貝 淺拷貝是創(chuàng)建一個(gè)新對(duì)象,這個(gè)對(duì)象有著原始對(duì)象屬性值的一份精確拷貝。如果屬性是基本類型,拷貝的就是基本類型的值,如果屬性是引用類型,拷貝的就是內(nèi)存地址,所以如果其中一個(gè)對(duì)象改變了這個(gè)地址,就會(huì)影響到另一個(gè)對(duì)象。 測(cè)試結(jié)果: 深拷貝 深拷貝是將

    2024年04月26日
    瀏覽(22)
  • Golang每日一練(leetDay0022)

    Golang每日一練(leetDay0022)

    目錄 64. 最小路徑和 Minimum Path Sum?????? 65. 有效數(shù)字 Valid Number???????? 66. 加一 Plus One???? ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給定一個(gè)包含非負(fù)整數(shù)的? m ?x? n ?網(wǎng)格? grid ?,請(qǐng)找出一條從左上角到

    2023年04月21日
    瀏覽(27)
  • Golang每日一練(leetDay0052)

    Golang每日一練(leetDay0052)

    目錄 153. 尋找旋轉(zhuǎn)排序數(shù)組中的最小值 Find Minimum In Rotated Sorted Array?????? 154. 尋找旋轉(zhuǎn)排序數(shù)組中的最小值 II Find Minimum In Rotated Sorted Array II???????? ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 已知一個(gè)長(zhǎng)度為

    2024年02月02日
    瀏覽(25)
  • Golang每日一練(leetDay0031)

    Golang每日一練(leetDay0031)

    目錄 91. 解碼方法? Decode Ways?????? 93. 復(fù)原 IP 地址 Restore IP Addresses?????? ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 注:92.題 移到206.題之后 92. 反轉(zhuǎn)鏈表 II Reverse Linked List II 一條包含字母? A-Z ?的消息通過以

    2023年04月19日
    瀏覽(65)
  • Golang每日一練(leetDay0004)

    Golang每日一練(leetDay0004)

    目錄 10.?正則表達(dá)式匹配?Regular Expression Matching???????? 11. 盛最多水的容器 Container with most water?????? 12. 整數(shù)轉(zhuǎn)羅馬數(shù)字 Integer to Roman?????? ???每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給你一個(gè)字符串?

    2023年04月08日
    瀏覽(30)
  • 深度學(xué)習(xí)中Numpy的一些注意點(diǎn)(多維數(shù)組;數(shù)據(jù)類型轉(zhuǎn)換、數(shù)組扁平化、np.where()、np.argmax()、圖像拼接、生成同shape的圖片)

    深度學(xué)習(xí)中Numpy的一些注意點(diǎn)(多維數(shù)組;數(shù)據(jù)類型轉(zhuǎn)換、數(shù)組扁平化、np.where()、np.argmax()、圖像拼接、生成同shape的圖片)

    a.shape=(3,2);既數(shù)組h=3,w=2 a.shape=(2,3,2);這里第一個(gè)2表示axis=0維度上的,三維數(shù)組中3,2)數(shù)組的個(gè)數(shù),這里表示兩個(gè)(3,2)數(shù)組。 這里axis=0指代哪里是很重要的知識(shí)點(diǎn)。深度學(xué)習(xí)中經(jīng)常壓縮一個(gè)維度,axis=0。 numpy.squeeze()函數(shù)。 語(yǔ)法:numpy.squeeze(a,axis = None);作用是將shape維度為

    2024年01月18日
    瀏覽(42)
  • Golang每日一練(leetDay0116) 路徑交叉、回文對(duì)

    Golang每日一練(leetDay0116) 路徑交叉、回文對(duì)

    目錄 335. 路徑交叉 Self-crossing???????? 336. 回文對(duì) Palindrome Pairs???????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給你一個(gè)整數(shù)數(shù)組? distance ? 。 從? X-Y ?平面上的點(diǎn)? (0,0) ?開始,先向北

    2024年02月12日
    瀏覽(22)
  • Golang每日一練(leetDay0049) 二叉樹專題(9)

    Golang每日一練(leetDay0049) 二叉樹專題(9)

    目錄 144. 二叉樹的前序遍歷 Binary-tree Preorder Traversal???? 145. 二叉樹的前序遍歷 Binary-tree Postorder Traversal???? 對(duì)比: 94. 二叉樹的中序遍歷 Binary-tree Inorder Traversal???? 146. LRU緩存 LRU Cache?????? ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一

    2024年02月04日
    瀏覽(30)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包