Python 顏色列表分割槽程式
假設我們有一個顏色字串列表,這些字串可能包含“紅色”、“綠色”和“藍色”,我們需要對列表進行分割槽,以便紅色在綠色之前,綠色在藍色之前。
因此,如果輸入類似於 colors = ["blue","green", "blue", "red", "red"],則輸出將為 ['red', 'red', 'green', 'blue', 'blue']
為了解決這個問題,我們將遵循以下步驟:
green := 0, blue := 0, red := 0
對於strs中的每個字串,執行:
如果字串與“red”相同,則:
strs[blue] := "blue"
blue := blue + 1
strs[green] := "green"
green := green + 1
strs[red] := "red"
red := red + 1
否則,如果字串與“green”相同,則:
strs[blue] := "blue"
blue := blue + 1
strs[green] := "green"
green := green + 1
否則,如果字串與“blue”相同,則:
strs[blue] := "blue"
blue := blue + 1
返回 strs
讓我們看看下面的實現,以便更好地理解:
示例
class Solution: def solve(self, strs): green = 0 blue = 0 red = 0 for string in strs: if string == "red": strs[blue] = "blue" blue += 1 strs[green] = "green" green += 1 strs[red] = "red" red += 1 elif string == "green": strs[blue] = "blue" blue += 1 strs[green] = "green" green += 1 elif string == "blue": strs[blue] = "blue" blue += 1 return strs ob = Solution() colors = ["blue","green", "blue", "red", "red"] print(ob.solve(colors))
輸入
["blue","green", "blue", "red", "red"]
輸出
['red', 'red', 'green', 'blue', 'blue']
廣告