摘要:最近時(shí)間準(zhǔn)備面試,開始在上刷題了。思路將兩個(gè)數(shù)用轉(zhuǎn)換為二進(jìn)制需要去除前面的,因?yàn)槲粩?shù)不同所以需要在前面補(bǔ)充一定位數(shù)的,然后將兩個(gè)字符串遍歷就可以直接得到漢明距離代碼
最近時(shí)間準(zhǔn)備面試,開始在leetcode上刷題了。于是在segmentfault上寫點(diǎn)東西來記錄下。可能會(huì)有各種弱智情況,望指出。
Array Partition I
題意:這個(gè)題目看原題實(shí)在沒有看懂,在網(wǎng)上找的翻譯,大致意思是給你一個(gè)長度為2n的數(shù)組,講數(shù)組分為長度為2的子數(shù)組,求子數(shù)組里面最小值的和。
思路:把數(shù)組按順序排列,然后直接取鍵值為偶數(shù)的值求和即可
代碼:
class Solution(object): def arrayPairSum(self, nums): nums.sort() sum=0 for i in range(len(nums)): if i%2==0: sum+=nums[i] return sum
Reshape the Matrix
題意:給定一個(gè)二維數(shù)組與數(shù)組的行列數(shù)(r和c),將數(shù)組轉(zhuǎn)化為一維數(shù)組再轉(zhuǎn)換成指定的格式的數(shù)組,如果無法轉(zhuǎn)換則返回原來的數(shù)組
思路:先判斷輸入的r與c的值能否滿足轉(zhuǎn)換條件,然后再進(jìn)行轉(zhuǎn)換,在網(wǎng)上找過參考,發(fā)現(xiàn)參考的一個(gè)答案沒有考慮過r和c的值,其實(shí)總長度等于r*c即滿足條件,不用再求r的值
代碼:
class Solution(object): def matrixReshape(self, nums, r, c): ad=[] if len(nums)*len(nums[0])!=r*c: return nums else: for i in nums: for k in i: ad.append(k) lst=[] for j in range(r): lst.append(ad[j*c:(j+1)*c]) return lst
Hamming Distance
題意:給定兩個(gè)指定范圍內(nèi)的數(shù),將兩個(gè)數(shù)轉(zhuǎn)化為二進(jìn)制,二進(jìn)制不同位數(shù)即為漢明距離。
思路:將兩個(gè)數(shù)用bin()轉(zhuǎn)換為二進(jìn)制(需要去除前面的bin),因?yàn)槲粩?shù)不同所以需要在前面補(bǔ)充一定位數(shù)的0,然后將兩個(gè)字符串遍歷就可以直接得到漢明距離
代碼: `python
class Solution(object):
def hammingDistance(self, x, y): a=bin(x)[2:] b=bin(y)[2:] minus=abs(len(a)-len(b)) s=0 if len(a)>len(b): b="0"*minus+b elif len(a)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/40891.html
摘要:題意給出一串二進(jìn)制數(shù)組,求數(shù)組中最長的連續(xù)的個(gè)數(shù)思路遍歷數(shù)組判斷,然后將值添加到長度保存數(shù)組中,取保存數(shù)組最大值。本題要考慮輸入的數(shù)組為的狀況。代碼題意給出一個(gè),從里面獲取兩個(gè)數(shù)。 485 Max Consecutive Ones題意:給出一串二進(jìn)制數(shù)組,求數(shù)組中最長的連續(xù)1的個(gè)數(shù)思路:遍歷數(shù)組判斷,然后將值添加到長度保存數(shù)組中,取保存數(shù)組最大值。本題要考慮輸入的數(shù)組為[0],[1]的...
摘要:思路先用將字符串分割,再遍歷,將字符串內(nèi)每個(gè)單詞進(jìn)行翻轉(zhuǎn)代碼題意給定一個(gè)字符串,將字符串按照翻轉(zhuǎn),不翻轉(zhuǎn)的規(guī)則進(jìn)行處理。思路先將字符串分段,然后再根據(jù)段落進(jìn)行處理最后將字符串輸出。 344 Reverse String題意:給出一個(gè)字符串對字符串進(jìn)行翻轉(zhuǎn)(reverse)思路:直接使用切片函數(shù)進(jìn)行翻轉(zhuǎn)(網(wǎng)上看到的,具體怎么使用有點(diǎn)迷)[::-1]代碼:`class Solution(...
摘要:現(xiàn)在發(fā)出來的版本,我重新使用了語言實(shí)現(xiàn)。其實(shí)我之前介紹的老師課程也大量參考和使用算法這本書上的思路和例題??催@本書主要是讓我覺得算法可以以比較輕松的方式入門。劍指這本書主要用于準(zhǔn)備算法面試,在網(wǎng)絡(luò)上備受好評。 我是一個(gè)半路出家的程序員,在我剛開始從事編碼工作的頭幾年,我沒有接觸過算法和數(shù)據(jù)結(jié)構(gòu),覺得它們是只會(huì)在我找工作的時(shí)候用得到的知識(shí)。盡管有很多人跟我說過算法和數(shù)據(jù)結(jié)構(gòu)無比重要,我也...
摘要:技能點(diǎn)中結(jié)構(gòu)知識(shí)點(diǎn)聲明語句添加內(nèi)容鑒定存在本例是把作為找到下標(biāo)根據(jù)返回下標(biāo)返回?cái)?shù)組最終代碼建立在哈希表中遍歷每個(gè)元素,找到可能與之匹配成的下標(biāo) 問題: 給定一個(gè)整數(shù)數(shù)組 nums 和一個(gè)目標(biāo)值 target,請你在該數(shù)組中找出和為目標(biāo)值的兩個(gè)下標(biāo)。你可以假設(shè)每種輸入只會(huì)對應(yīng)一個(gè)答案。但是,你不能重復(fù)利用這個(gè)數(shù)組中同樣的元素。 思路 首先遍歷一次整數(shù)數(shù)組,將數(shù)組下標(biāo)和值建立哈希表,再從...
閱讀 1771·2021-10-13 09:39
閱讀 3221·2021-10-12 10:11
閱讀 600·2021-09-28 09:36
閱讀 2747·2019-08-30 15:55
閱讀 1464·2019-08-30 13:04
閱讀 689·2019-08-29 17:08
閱讀 1976·2019-08-29 14:14
閱讀 3476·2019-08-28 18:23