沒錯我又參加了第128場競賽,這次也是三道題,最後一題總是超時,暴力不能解決問題了
題目描述:
每個非負整數 n 都有其二進位制表示。例如, 5 可以被表示為二進位制 「101」,11 可以用二進位制 「1011」 表示,依此類推。注意,除 n = 0 外,任何二進位制表示中都不含前導零。
二進位制的補碼表示是將每個 1 改為 0 且每個 0 變為 1。例如,二進位制數 「101」 的二進位制補碼為 「010」。
給定十進位制數 n,返回其二進位制表示的補碼所對應的十進位制整數。
示例 1:
輸入:5
輸出:2
解釋:5 的二進位制表示為 「101」,其二進位制補碼為 「010」,也就是十進位制中的 2 。
示例 2:
輸入:7
輸出:0
解釋:7 的二進位制表示為 「111」,其二進位制補碼為 「000」,也就是十進位制中的 0 。
示例 3:
輸入:10
輸出:5
解釋:10 的二進位制表示為 「1010」,其二進位制補碼為 「0101」,也就是十進位制中的 5 。
分析:這是最簡單的一道題了,一開始我還在想有沒有直接轉化的方法之類的,沒想出來,還是得老實做,先把數轉化成二進位制存放在陣列中,(注意此時是倒序),然後換成補碼,最後轉換成十進位制
**:
func bitwisecomplement(n int) int
if n==1
nums:=int{}
for n/2!=0
n:=len(nums)
for i:=0;i=0;i--
count:=0
for i:=0;i題目描述:
1014. 在 d 天內送達包裹的能力 顯示英文描述
使用者通過次數 0
使用者嘗試次數 0
通過次數 0
提交次數 0
題目難度 medium
傳送帶上的包裹必須在 d 天內從乙個港口運送到另乙個港口。
傳送帶上的第 i 個包裹的重量為 weights[i]。每一天,我們都會按給出重量的順序往傳送帶上裝載包裹。我們裝載的重量不會超過船的最大運載重量。
返回能在 d 天內將傳送帶上的所有包裹送達的船的最低運載能力。
示例 1:
輸入:weights = [1,2,3,4,5,6,7,8,9,10], d = 5
輸出:15
解釋:船舶最低載重 15 就能夠在 5 天內送達所有包裹,如下所示:
第 1 天:1, 2, 3, 4, 5
第 2 天:6, 7
第 3 天:8
第 4 天:9
第 5 天:10
請注意,貨物必須按照給定的順序裝運,因此使用載重能力為 14 的船舶並將包裝分成 (2, 3, 4, 5), (1, 6, 7), (8), (9), (10) 是不允許的。
示例 2:
輸入:weights = [3,2,2,4,1,4], d = 3
輸出:6
解釋:船舶最低載重 6 就能夠在 3 天內送達所有包裹,如下所示:
第 1 天:3, 2
第 2 天:2, 4
第 3 天:1, 4
示例 3:
輸入:weights = [1,2,3,1,1], d = 4
輸出:3
解釋:第 1 天:1
第 2 天:2
第 3 天:3
第 4 天:1, 1
分析:一開始有點蒙,後來捋了捋思緒,大概是,先確定一下最大值,以他為最少載重試一把,不行再往上加,思路就是這樣
**:func shipwithindays(weights int, d int) int else
}} return max
}func max(w int)int
} return max
}
給定正整數 n,返回小於等於 n 且具有至少 1 位重複數字的正整數。
示例 1:
輸入:20
輸出:1
解釋:具有至少 1 位重複數字的正數(<= 20)只有 11 。
示例 2:
輸入:100
輸出:10
解釋:具有至少 1 位重複數字的正數(<= 100)有 11,22,33,44,55,66,77,88,99 和 100 。
示例 3:
輸入:1000
輸出:262
1 <= n <= 10^9
分析:資料太大,暴力肯定超時,有沒有大佬知道好演算法
LeetCode程式設計題 每日1題
乙隻青蛙一次可以跳上1級台階,也可以跳上2級台階。求該青蛙跳上乙個 n 級的台階總共有多少種跳法。答案需要取模 1e9 7 1000000007 如計算初始結果為 1000000008,請返回 1。class solution return a 此類求 多少種可能性 的題目一般都有 遞推性質 即 f...
每日程式設計(七) leetcode
題目 刪除排序鍊錶中的重複元素 題目描述 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。上 definition for singly linked list.type listnode struct func deleteduplicates head listnode listn...
每日程式設計(八) leetcode
題目 合併兩個有序陣列 題目描述 給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。說明 示例 輸入 nums1 1,2,3,0,0,0 m 3 nums2 2,5,6 n 3輸出 1,2,2,3,5,6 上 func mer...