每日程式設計(34) leetcode128周競賽

2021-09-12 18:34:15 字數 2227 閱讀 4043

沒錯我又參加了第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...