成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

leetcode日??偨Y(jié)-創(chuàng)新互聯(lián)

566,581,605,628,643,661,665

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比鉛山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式鉛山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋鉛山地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。

566:重塑矩陣

題目描述:

函數(shù) reshape,它可以將一個矩陣重塑為另一個大小不同的新矩陣,但保留其原始數(shù)據(jù)。給出一個由二維數(shù)組表示的矩陣,以及兩個正整數(shù)r和c,分別表示想要的重構(gòu)的矩陣的行數(shù)和列數(shù)。重構(gòu)后的矩陣需要將原始矩陣的所有元素以相同的行遍歷順序填充。如果具有給定參數(shù)的reshape操作是可行且合理的,則輸出新的重塑矩陣;否則,輸出原始矩陣。

思路:

判斷個數(shù)一樣,把原矩陣寫成生成器,一個一個往外出數(shù)據(jù),按照行列填充到新矩陣

代碼:

class Solution(object):

def matrixReshape(self, nums, r, c):

"""

:type nums: List[List[int]]

:type r: int

:type c: int

:rtype: List[List[int]]

function(){ //XM返傭?http://www.fx61.com/brokerlist/xm.html

"""

if r*c != len(nums)*len(nums[0]):

return nums

def num(nums):

for row in nums:

for element in row:

yield element

g=num(nums)

result=[]

for i in range(r):

row=[]

for j in range(c):

row.append(next(g))

result.append(row)

return result

581:最短無序連續(xù)子數(shù)組

題目描述:

給定一個整數(shù)數(shù)組,你需要尋找一個連續(xù)的子數(shù)組,如果對這個子數(shù)組進(jìn)行升序排序,那么整個數(shù)組都會變?yōu)樯蚺判?。你找到的子?shù)組應(yīng)是最短的,請輸出它的長度。

思路:

從左往右遍歷,如果最左位置上的數(shù)為數(shù)組中最小的值,則pop掉;從右往左遍歷,如果最右位置上的數(shù)為數(shù)組中大的值,則pop掉;最終數(shù)組長度為子數(shù)組需要排序的長度。

代碼:

class Solution(object):

def findUnsortedSubarray(self, nums):

"""

:type nums: List[int]

:rtype: int

"""

if nums==sorted(nums):

return 0

while nums[-1]==max(nums):

nums.pop(-1)

while nums[0]==min(nums):

nums.pop(0)

return len(nums)

605:種花問題

題目描述:

假設(shè)你有一個很長的花壇,一部分地塊種植了花,另一部分卻沒有??墒?,花卉不能種植在相鄰的地塊上,它們會爭奪水源,兩者都會死去。給定一個花壇(表示為一個數(shù)組包含0和1,其中0表示沒種植花,1表示種植了花),和一個數(shù)n。能否在不打破種植規(guī)則的情況下種入n朵花?能則返回True,不能則返回False。

思路:

想添加一個數(shù)字必須是 1.開頭兩個0 [0,0,…] 2.結(jié)尾兩個0 […,0,0] 3.中間三個0 […,0,0,0,…],所以前后補零處理邊界看是否三個連續(xù)的位置都為0.

代碼:

class Solution(object):

def canPlaceFlowers(self, flowerbed, n):

"""

:type flowerbed: List[int]

:type n: int

:rtype: bool

"""

tmp=[0]+flowerbed+[0]

for i in range(1,len(tmp)-1):

if tmp[i]==0 and tmp[i-1]==0 and tmp[i+1]==0:

tmp[i]=1

n-=1

if n<=0:

return True

else:

return False

628:三個數(shù)的大乘積

題目描述:

給定一個整型數(shù)組,在數(shù)組中找出由三個數(shù)組成的大乘積,并輸出這個乘積。

思路:

1:排序,如果沒有負(fù)數(shù)則后面三個數(shù)的乘積為大,若有負(fù)數(shù),則可比較前兩個值及最后一個大值的乘積與最后三個值乘積誰更大。

2:求出數(shù)組中大的三個數(shù)以及最小的兩個數(shù),因此我們可以不用排序,用線性掃描直接得出這五個數(shù)。

代碼:

class Solution(object):

def maximumProduct(self, nums):

"""

:type nums: List[int]

:rtype: int

"""

nums.sort()

return max(nums[0]*nums[1]*nums[-1],nums[-1]*nums[-2]*nums[-3])

643:子數(shù)組大平均數(shù)Ⅰ
題目描述:
給定 n 個整數(shù),找出平均數(shù)大且長度為k的連續(xù)子數(shù)組,并輸出該大平均數(shù)。
思路:
找出子數(shù)組中長度為k的大值,然后除以長度。
滑動窗口 當(dāng)移動一位的時候 只需要減去前一個i - 1 加上新的一個i + k - 1

代碼:

class Solution(object):

def findMaxAverage(self, nums, k):

"""

:type nums: List[int]

:type k: int

:rtype: float

"""

ave=sum(nums[:k])

tmp=ave

for i in range(len(nums)-k):

tmp=tmp-nums[i]+nums[i+k]

if tmp>ave:

ave=tmp

return ave*1.0/k

661:圖片平滑器

題目描述:

包含整數(shù)的二維矩陣 M 表示一個圖片的灰度。你需要設(shè)計一個平滑器來讓每一個單元的灰度成為平均灰度(向下舍入),平均灰度的計算是周圍的8個單元和它本身的值求平均,如果周圍的單元格不足八個,則盡可能多的利用它們。

思路:

數(shù)組補邊法消除特殊狀態(tài),將原數(shù)組周圍用-1填充,構(gòu)成新數(shù)組,結(jié)果i行j列的值即為該數(shù)組i行j列為左上角元素的3X3矩陣的和+加上-1的個數(shù),再除以9減去-1的個數(shù)

代碼:

class Solution(object):

def imageSmoother(self, M):

"""

:type M: List[List[int]]

:rtype: List[List[int]]

"""

row=len(M)

clu=len(M[0])

M.insert(0,[-1]*clu)

M.append([-1]*clu)

for i in range(len(M)):

M[i].insert(0,-1)

M[i].append(-1)

res=[]

for i in range(row):

row=[]

for j in range(clu):

lst=[M[i][j],M[i][j+1],M[i][j+2],M[i+1][j],M[i+1][j+1],M[i+1][j+2],M[i+2][j],M[i+2][j+1],M[i+2][j+2]]

n=lst.count(-1)

item=int((sum(lst)+n)/(9-n))

row.append(item)

res.append(row)

return res

665:非遞減數(shù)列

題目描述:

給定一個長度為 n 的整數(shù)數(shù)組,你的任務(wù)是判斷在最多改變1個元素的情況下,該數(shù)組能否變成一個非遞減數(shù)列。

思路:

使前一個數(shù)字小于或等于當(dāng)前數(shù)字

使當(dāng)前數(shù)字等于先前的數(shù)字

當(dāng)找到nums[i-1] > nums[i],采用方式一,通過改變nums[i-1]的值,這樣不會影響了后續(xù)操作。還有,如果nums[i-2] > nums[i],采用方式二,改變nums[i]的值。

代碼:

class Solution(object):

def checkPossibility(self, nums):

"""

:type nums: List[int]

:rtype: bool

"""

if len(nums)<=2:

return True

for i in range(0,len(nums)-1):

if i==0 and nums[i]>nums[i+1] and nums[i+1]<=nums[i+2]:

nums[i]=nums[i+1]

break

elif i != 0:

if nums[i]>nums[i+1]:

if nums[i+1]>=nums[i-1]:

nums[i]=nums[i+1]

else:

nums[i+1]=nums[i]

break

for i in range(0,len(nums)-1):

if nums[i]>nums[i+1]:

return False

else:

return True

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞標(biāo)題:leetcode日??偨Y(jié)-創(chuàng)新互聯(lián)
文章起源:http://jinyejixie.com/article18/cospdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、ChatGPT定制開發(fā)、App設(shè)計、標(biāo)簽優(yōu)化、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
峨边| 康保县| 买车| 洪泽县| 林芝县| 绵阳市| 项城市| 南召县| 通化市| 芷江| 石城县| 肃宁县| 宾阳县| 永春县| 栾城县| 诏安县| 巫山县| 永宁县| 肇源县| 象州县| 禄丰县| 专栏| 平定县| 奈曼旗| 土默特左旗| 板桥市| 承德县| 和龙市| 潢川县| 洛阳市| 瑞昌市| 安徽省| 卓资县| 大方县| 商河县| 台安县| 新疆| 辰溪县| 大余县| 东乌珠穆沁旗| 罗江县|