c# 算法及數(shù)據(jù)結(jié)構(gòu)每日練習(xí)記錄
LeeCode—算法
1.??https://leetcode.cn/problems/binary-search/?envType=study-plan&id=suan-fa-ru-men&plan=algorithms&plan_progress=b48xitv
給定一個(gè) n
個(gè)元素有序的(升序)整型數(shù)組 nums
和一個(gè)目標(biāo)值 target
,寫一個(gè)函數(shù)搜索 nums
中的 target
,如果目標(biāo)值存在返回下標(biāo),否則返回 -1
2.??https://leetcode.cn/problems/first-bad-version/?envType=study-plan&id=suan-fa-ru-men&plan=algorithms&plan_progress=b48xitv
你是產(chǎn)品經(jīng)理,目前正在帶領(lǐng)一個(gè)團(tuán)隊(duì)開發(fā)新的產(chǎn)品。不幸的是,你的產(chǎn)品的最新版本沒有通過質(zhì)量檢測。由于每個(gè)版本都是基于之前的版本開發(fā)的,所以錯(cuò)誤的版本之后的所有版本都是錯(cuò)的。
假設(shè)你有 n
個(gè)版本 [1, 2, ..., n]
,你想找出導(dǎo)致之后所有版本出錯(cuò)的第一個(gè)錯(cuò)誤的版本。
你可以通過調(diào)用 bool isBadVersion(version)
接口來判斷版本號 version
是否在單元測試中出錯(cuò)。實(shí)現(xiàn)一個(gè)函數(shù)來查找第一個(gè)錯(cuò)誤的版本。你應(yīng)該盡量減少對調(diào)用 API 的次數(shù)。
3.? ?https://leetcode.cn/problems/search-insert-position/?envType=study-plan&id=suan-fa-ru-men&plan=algorithms&plan_progress=b48xitv
給定一個(gè)排序數(shù)組和一個(gè)目標(biāo)值,在數(shù)組中找到目標(biāo)值,并返回其索引。如果目標(biāo)值不存在于數(shù)組中,返回它將會(huì)被按順序插入的位置。
請必須使用時(shí)間復(fù)雜度為 O(log n)
??https://leetcode.cn/problems/contains-duplicate/?envType=study-plan&id=shu-ju-jie-gou-ru-men&plan=data-structures&plan_progress=b4tf6qe
nums
. 如果任一值在數(shù)組中出現(xiàn) 至少兩次 ,返回true
;如果數(shù)組中每個(gè)元素互不相同,返回
2.? https://leetcode.cn/problems/maximum-subarray/description/?envType=study-plan&id=shu-ju-jie-gou-ru-men&plan=data-structures&plan_progress=b4tf6qe&page=2&languageTags=csharp
給你一個(gè)整數(shù)數(shù)組 nums
,請你找出一個(gè)具有最大和的連續(xù)子數(shù)組(子數(shù)組最少包含一個(gè)元素),返回其最大和
子數(shù)組 是數(shù)組中的一個(gè)連續(xù)部分