給定乙個32位的有符號整數,實現數字反轉。這道題用的是字串反轉的方法,但是用整數求餘的方法可能會方便許多。思路大致如下:
將整數轉化成字串,再用[0:0:-1]的切片方法進行反序,最後再將反序後的字串轉換成整數。其中,要考慮兩個問題。一是整數末尾有0,應將其轉換成字串之後把末尾的0去掉。二是當整數是負數時要反序後的負號放到字串前面。
還有乙個問題在做題的過程中忽略了,依舊是審題的原因。題目給定了輸入整數的範圍,並且最終輸出整數也要在這個範圍中,不能只限定了輸入範圍而忽略了輸出結果的範圍!為了使計算量減小,直接將取值範圍計算出來了,沒有使用冪函式。
LeetCode筆記 陣列(2)
給定乙個排序好的陣列,在原始陣列中刪除掉重複的元素,使得每個元素只出現一次,返回最終陣列的長度。問題記錄 1.sorted sorted sorted 重要的事情說三遍!審題一定要認真,拿到題目忽略了這個條件,浪費了大部分時間在這上面。其實題目給的陣列都是排序好的,也就是說,重複的元素都是在相鄰位置...
leetcode刷題筆記 陣列2
給定乙個大小為 n 的陣列,找到其中的多數元素。多數元素是指在陣列 現次數大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在多數元素。這道題主體思想是雜湊對映。python的字典就使用了hash的思想。直接貼 class solution def majorityelement s...
leetcode刷題筆記 陣列3
給定乙個整數陣列,判斷是否存在重複元素。如果任何值在陣列 現至少兩次,函式返回 true。如果陣列中每個元素都不相同,則返回 false。這裡的解答用到了投機取巧的一種方法,使用set函式 class solution def containsduplicate self,nums list int...