以下為我的天梯積分規則:
每日至少一題:一題積分+10分
若多做了一題(或多一種方法解答),則當日積分+20分(+10+10)
若做了三道以上,則從第三題開始算+20分(如:做了三道題則積分-10+10+20=40;做了四道題則積分–10+10+20+20=60)
初始分為100分
若差一天沒做題,則扣積分-10分(周六、周日除外注:休息)
堅持!!!
初級算法
刷題目錄
設計問題
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iNyYDN5MTM5YGNlVzY2kDOmNzM0EDZwgjMmRGOzI2N28CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
題幹
給你一個整數數組 nums ,設計算法來打亂一個沒有重複元素的數組。
實作 Solution class:
Solution(int[] nums) 使用整數數組 nums 初始化對象
int[] reset() 重設數組到它的初始狀态并傳回
int[] shuffle() 傳回數組随機打亂後的結果
示例:
輸入
[“Solution”, “shuffle”, “reset”, “shuffle”]
[[[1, 2, 3]], [], [], []]
輸出
[null, [3, 1, 2], [1, 2, 3], [1, 3, 2]]
解釋 Solution solution = new Solution([1, 2, 3]); solution.shuffle();
// 打亂數組 [1,2,3] 并傳回結果。任何 [1,2,3]的排列傳回的機率應該相同。例如,傳回 [3, 1, 2]
solution.reset(); // 重設數組到它的初始狀态 [1, 2, 3] 。傳回 [1, 2, 3]
solution.shuffle(); // 随機傳回數組 [1, 2, 3] 打亂後的結果。例如,傳回 [1, 3, 2]
正常随機
今天直接上代碼了
class Solution:
def __init__(self, nums: List[int]):
self.List = nums
def reset(self) -> List[int]:
return self.List
def shuffle(self) -> List[int]:
copy_list = self.List[:]
random.shuffle(copy_list)
return copy_list