若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.
程式設計可以改變您的未來(Programming can change your future)。 雲林SONG 全名為雲林軟體工程(SOftware eNGineering),目標致力於軟體人才的培養並推廣開源軟體落實於資訊教育。程式設計的觀念是軟體產品的基礎,程式碼就像沙子一樣,要紮實,所建立出來的高塔才會穩固。本站也提供資訊教育相關的教學資源。 YunlinSONG stands for Yunlin SOftware eNGineering, offering tutorial for computer programming and promoting open-source software. Teaching resources in information technology education are provided here.
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.
題目原文描述 https://leetcode.com/problems/plus-one/
中文描述
給定一個用陣列 digits 表示大整數 large integer,digits[i] 代表大整數的第 i 位數之值。例如 12345 會以 digits = [1, 2, 3, 4, 5] 來表示。請將 digits 的數值加一。
範例一:
輸入 digits = [9,9,9,9]
輸出 [1, 0, 0, 0, 0]
說明:整數 9999 加一後為 10000。
範例二:
輸入 digits = [2, 2, 3, 4, 5]
輸出 [2, 2, 3, 4, 6]
說明:整數 22345 加一後為 22346。
解法:
若目前 digits[i] 為 9 ,將 digits[i] 設定為 0;否則 digits[i] 加一並回傳 digits。若每位數都是9,在最左邊補1。
Python Code
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.
題目原文描述 https://leetcode.com/problems/largest-number-at-least-twice-of-others/
中文描述
給定一個有唯一最大值的整數陣列 nums ,請判斷此最大值元素是否為其他陣列元素值的兩倍以上,若有成立,請回傳此最大值在陣列中的索引位置。
範例一:
輸入 nums = [1, 2, 3, 6, 2, 3, 1]
輸出 3
因為 6 是最大值,且都為其他陣列元素[1, 2, 3]的兩倍以上。
範例二:
輸入 nums = [1, 2, 3, 4, 6]
輸出 -1
因為 6 是最大值,但 6 不是 4 的兩倍以上。
解法一:
Two Pass。
先找出最大值 largestNum 與索引位置 largestIdx。
判斷陣列中所有非最大值之元素是否有 largestNum 小於 nums[i] * 2,若有,回傳 -1。
Python Code
解法二:
One Pass。
找出第一大值 largestNum、第二大值 secondNum,判斷 largestNum 是否有小於兩倍的 secondNum。
Python Code