高階程式設計技術題練習與解答

2021-12-30 03:07:31 字數 1930 閱讀 8058

下面題目都來自於leetcode.

解題思路:

這道題目相當容易,因為python中提供了index()函式——如果某個元素存在於列表中,返回其在列表中的位置。如此一來,target在nums中的情況便解決了。

接下來是target不在nums中的情況。遍歷一下nums中的變數,用乙個變數 i 記錄當前訪問的列表下標。如果訪問的元素num的值比target大,則說明tartget應該插入的位置在後面,所以更新 i 的值(i=i+1);如果訪問的元素num的值小於或等於target的值,則說明tartget應該插入的位置就是當前的位置。最後,如果遍歷一遍列表nums後函式還沒返回,說明tartget的值比nums中所有元素的值都大,應該插入的位置是nums最後一位的後一位,即 len(nums) + 1.

**如下:

解題思路:

從最後一位開始判斷,先用 i 記錄不是空格字元的元素的最大下標,然後從該位置開始往前掃瞄,用ans記錄單詞中字母的數量,掃瞄到空格時停止運算,返回ans。另外,這個演算法對於沒有單詞的情況需要特判一下。

**如下:

解題思路:

只需要把數字轉換成字串型別再轉換成list型別,再對其使用reverse後與使用前的list進行對比,即可得到答案。

**如下:

class solution:

def ispalindrome(self, x):

""":type x: int

:rtype: bool

"""a = list(str(x))

b = list(str(x))

b.reverse()

if a == b:

return true

else:

return false

高階程式設計技術作業 5

題目描述 使用乙個for迴圈列印數字1 20 包含 展示 for number in range 1,21 print number input null output 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 題目描述 通過給函式rang...

高階程式設計技術作業 7

題目描述 使用乙個字典來儲存一些人喜歡的數字。請想5個人的名字,並將這些名字用作字典中 的鍵 想出每個人喜歡的乙個數字,並將這些數字作為值儲存在字典中。列印每個人的名字和喜歡 的數字。展示 dic for name,number in dic.items print name str number ...

高階程式設計技術作業 8

題目描述 編寫乙個迴圈,提示使用者輸入一系列的比薩配料,並在使用者輸入 quit 時結束迴圈。每當 使用者輸入一種配料後,都列印一條訊息,說我們會在比薩中新增這種配料。input potato tomato fish quit output please input an ingredient we...