LeetCode 54. 螺旋矩陣
給定一個包含 m x n 個元素的矩陣(m 行, n 列),請按照順時針螺旋順序,回傳矩陣中的所有元素,
示例1
輸入:
[
[ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ]
]
輸出: [1,2,3,6,9,8,7,4,5]
示例2
輸入:
[
[1, 2, 3, 4],
[5, 6, 7, 8],
[9,10,11,12]
]
輸出: [1,2,3,4,8,12,11,10,9,5,6,7]
個人解法
LeetCode 258. 各位相加
給定一個非負整數 num,反復將各個位上的數字相加,直到結果為一位數,
示例
輸入: 38
輸出: 2
解釋: 各位相加的程序為:3 + 8 = 11, 1 + 1 = 2, 由于 2 是一位數,所以回傳 2,
個人解法
LeetCode 486. 預測贏家
給定一個表示分數的非負整數陣列, 玩家 1 從陣列任意一端拿取一個分數,隨后玩家 2 繼續從剩余陣列任意一端拿取分數,然后玩家 1 拿,…… ,每次一個玩家只能拿取一個分數,分數被拿取之后不再可取,直到沒有剩余分數可取時游戲結束,最侄訓得分數總和最多的玩家獲勝,
給定一個表示分數的陣列,預測玩家1是否會成為贏家,你可以假設每個玩家的玩法都會使他的分數最大化,
示例1
輸入:[1, 5, 2]
輸出:False
解釋:一開始,玩家1可以從1和2中進行選擇,
如果他選擇 2(或者 1 ),那么玩家 2 可以從 1(或者 2 )和 5 中進行選擇,如果玩家 2 選擇了 5 ,那么玩家 1 則只剩下 1(或者 2 )可選,
所以,玩家 1 的最終分數為 1 + 2 = 3,而玩家 2 為 5 ,
因此,玩家 1 永遠不會成為贏家,回傳 False ,
示例2
輸入:[1, 5, 233, 7]
輸出:True
解釋:玩家 1 一開始選擇 1 ,然后玩家 2 必須從 5 和 7 中進行選擇,無論玩家 2 選擇了哪個,玩家 1 都可以選擇 233 ,
最終,玩家 1(234 分)比玩家 2(12 分)獲得更多的分數,所以回傳 True,表示玩家 1 可以成為贏家,
個人題解
LeetCode 55. 跳躍游戲
給定一個非負整數陣列,你最初位于陣列的第一個位置,
陣列中的每個元素代表你在該位置可以跳躍的最大長度,
判斷你是否能夠到達最后一個位置,
示例1
輸入: [2,3,1,1,4]
輸出: true
解釋: 我們可以先跳 1 步,從位置 0 到達 位置 1, 然后再從位置 1 跳 3 步到達最后一個位置,
示例2
輸入: [3,2,1,0,4]
輸出: false
解釋: 無論怎樣,你總會到達索引為 3 的位置,但該位置的最大跳躍長度是 0 , 所以你永遠不可能到達最后一個位置,
個人題解
LeetCode 51. N 皇后
n 皇后問題研究的是如何將 n 個皇后放置在 n×n 的棋盤上,并且使皇后彼此之間不能相互攻擊,
皇后彼此不能相互攻擊,也就是說:任何兩個皇后都不能處于同一條橫行、縱行或斜線上,

上圖為 8 皇后問題的一種解法,
給定一個整數 n,回傳所有不同的 n 皇后問題的解決方案,
每一種解法包含一個明確的 n 皇后問題的棋子放置方案,該方案中 ‘Q’ 和 ‘.’ 分別代表了皇后和空位,
示例1
輸入:4
輸出:[
[".Q..", // 解法 1
"...Q",
"Q...",
"..Q."],
["..Q.", // 解法 2
"Q...",
"...Q",
".Q.."]
]
解釋: 4 皇后問題存在兩個不同的解法,
個人題解
LeetCode 68. 文本左右對齊
給定一個單詞陣列和一個長度 maxWidth,重新排版單詞,使其成為每行恰好有 maxWidth 個字符,且左右兩端對齊的文本,
你應該使用“貪心演算法”來放置給定的單詞;也就是說,盡可能多地往每行中放置單詞,必要時可用空格 ’ ’ 填充,使得每行恰好有 maxWidth 個字符,
要求盡可能均勻分配單詞間的空格數量,如果某一行單詞間的空格不能均勻分配,則左側放置的空格數要多于右側的空格數,
文本的最后一行應為左對齊,且單詞之間不插入額外的空格,
說明:
- 單詞是指由非空格字符組成的字符序列,
- 每個單詞的長度大于 0,小于等于 maxWidth,
- 輸入單詞陣列 words 至少包含一個單詞,
示例1
輸入:
words = ["This", "is", "an", "example", "of", "text", "justification."]
maxWidth = 16
輸出:
[
"This is an",
"example of text",
"justification. "
]
示例2
輸入:
words = ["What","must","be","acknowledgment","shall","be"]
maxWidth = 16
輸出:
[
"What must be",
"acknowledgment ",
"shall be "
]
解釋: 注意最后一行的格式應為 "shall be " 而不是 "shall be",
因為最后一行應為左對齊,而不是左右兩端對齊,
第二行同樣為左對齊,這是因為這行只包含一個單詞,
示例3
輸入:
words = ["Science","is","what","we","understand","well","enough","to","explain",
"to","a","computer.","Art","is","everything","else","we","do"]
maxWidth = 20
輸出:
[
"Science is what we",
"understand well",
"enough to explain to",
"a computer. Art is",
"everything else we",
"do "
]
個人題解
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/172000.html
標籤:其他
