leetcode 1011. 在 D 天內送達包裹的能力(二分法)

傳送帶上的包裹必須在 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

提示:

1 <= D <= weights.length <= 50000

1 <= weights[i] <= 500

解題思路

二分法搜索船的容量,起始搜索區間為[最大的包裹重量,全部包裹的總和]

因為最小的運輸量必須能運一個包裹,而最大的運輸量就是一次全部運完

通過計算當前運輸量下需要的運輸天數,來收縮邊界

代碼

func shipWithinDays(weights []int, D int) int {sum , max:=0,-1for _, weight := range weights {sum+=weightif weight>max{max=weight}}l,r:=max,sumfor l<=r {mid :=(r-l)/2+ldays := countDays(mid, weights)if days<=D{r=mid-1}else{l=mid+1}}return l
}
func countDays(ship int,weights []int) int{cur,days:=ship,1for _, weight := range weights {if cur>=weight{cur-=weight}else {cur=ship-weightdays++}}return days
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/391274.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/391274.shtml
英文地址,請注明出處:http://en.pswp.cn/news/391274.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python:pytest優秀博客

上海悠悠&#xff1a;https://www.cnblogs.com/yoyoketang/tag/pytest/ 轉載于:https://www.cnblogs.com/gcgc/p/11514345.html

uva 11210

https://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&pageshow_problem&problem2151 題意&#xff1a;給你十三張麻將&#xff0c;問你需要哪幾張牌就可以胡牌&#xff0c;這個胡牌排除了七小對以及十三幺 胡牌必須要有一個對子加&#xff4e;個…

機器學習圖像源代碼_使用帶有代碼的機器學習進行快速房地產圖像分類

機器學習圖像源代碼RoomNet is a very lightweight (700 KB) and fast Convolutional Neural Net to classify pictures of different rooms of a house/apartment with 88.9 % validation accuracy over 1839 images. I have written this in python and TensorFlow.RoomNet是…

leetcode 938. 二叉搜索樹的范圍和

給定二叉搜索樹的根結點 root&#xff0c;返回值位于范圍 [low, high] 之間的所有結點的值的和。 示例 1&#xff1a; 輸入&#xff1a;root [10,5,15,3,7,null,18], low 7, high 15 輸出&#xff1a;32 示例 2&#xff1a; 輸入&#xff1a;root [10,5,15,3,7,13,18,1,nul…

456

456 轉載于:https://www.cnblogs.com/Forever77/p/11517711.html

課后作業-結隊編程項目進度-貪吃蛇

當前進度&#xff1a; 1.完成了窗口和蛇的繪制 2控制蛇的放向 3.繪制食物&#xff0c;隨機出現 4.設計暫停鍵和開始鍵 有遇到過問題&#xff0c;但通過上網和向同學請教解決了轉載于:https://www.cnblogs.com/qwsa/p/7605384.html

一百種簡單整人方法_一種非常簡單的用戶故事方法

一百種簡單整人方法User stories are a great way to plan development work. In theory. But how do you avoid getting burned in practice? I propose a radically simple approach.用戶故事是計劃開發工作的好方法。 理論上。 但是&#xff0c;如何避免在實踐中被燙傷&…

COVID-19和世界幸福報告數據告訴我們什么?

For many people, the idea of ??staying home actually sounded good at first. This process was really efficient for Netflix and Amazon. But then sad truths awaited us. What was boring was the number of dead and intubated patients one after the other. We al…

Python:self理解

Python類 class Student:# 類變量&#xff0c;可以通過類.類變量(Student.classroom)或者實例.類變量(a.classroom)方式調用classroom 火箭班def __init__(self, name, age):# self代表類的實例&#xff0c;self.name name表示當實例化Student時傳入的name參數賦值給類的實例…

leetcode 633. 平方數之和(雙指針)

給定一個非負整數 c &#xff0c;你要判斷是否存在兩個整數 a 和 b&#xff0c;使得 a2 b2 c 。 示例 1&#xff1a; 輸入&#xff1a;c 5 輸出&#xff1a;true 解釋&#xff1a;1 * 1 2 * 2 5 示例 2&#xff1a; 輸入&#xff1a;c 3 輸出&#xff1a;false 示例 3&…

洛谷 P2919 [USACO08NOV]守護農場Guarding the Farm

題目描述 The farm has many hills upon which Farmer John would like to place guards to ensure the safety of his valuable milk-cows. He wonders how many guards he will need if he wishes to put one on top of each hill. He has a map supplied as a matrix of int…

iOS 開發一定要嘗試的 Texture(ASDK)

原文鏈接 - iOS 開發一定要嘗試的 Texture(ASDK)(排版正常, 包含視頻) 前言 本篇所涉及的性能問題我都將根據滑動的流暢性來評判, 包括掉幀情況和一些實際體驗 ASDK 已經改名為 Texture, 我習慣稱作 ASDK 編譯環境: MacOS 10.13.3, Xcode 9.2 參與測試機型: iPhone 6 10.3.3, i…

lisp語言是最好的語言_Lisp可能不是數據科學的最佳語言,但是我們仍然可以從中學到什么呢?...

lisp語言是最好的語言This article is in response to Emmet Boudreau’s article ‘Should We be Using Lisp for Data-Science’.本文是對 Emmet Boudreau的文章“我們應該將Lisp用于數據科學”的 回應 。 Below, unless otherwise stated, lisp refers to Common Lisp; in …

鏈接訪問后刷新顏色回到初始_如何使鏈接可訪問(提示:顏色不夠)

鏈接訪問后刷新顏色回到初始Link accessibility is one of the most important aspects of usability. However, designers often dont understand what it takes to make links accessible. Most frequently, they only distinguish links by color, which makes it hard for …

567

567 轉載于:https://www.cnblogs.com/Forever77/p/11519678.html

leetcode 403. 青蛙過河(dp)

一只青蛙想要過河。 假定河流被等分為若干個單元格&#xff0c;并且在每一個單元格內都有可能放有一塊石子&#xff08;也有可能沒有&#xff09;。 青蛙可以跳上石子&#xff0c;但是不可以跳入水中。 給你石子的位置列表 stones&#xff08;用單元格序號 升序 表示&#xff…

static、volatile、synchronize

原子性&#xff08;排他性&#xff09;&#xff1a;不論是多核還是單核&#xff0c;具有原子性的量&#xff0c;同一時刻只能有一個線程來對它進行操作&#xff01;可見性&#xff1a;多個線程對同一份數據操作&#xff0c;thread1改變了某個變量的值&#xff0c;要保證thread2…

tensorflow基本教程

轉載自 http://tensornews.cn/ 轉載于:https://www.cnblogs.com/Chris-01/p/11523316.html

1.10-linux三劍客之sed命令詳解及用法

內容:1.sed命令介紹2.語法格式,常用功能查詢 增加 替換 批量修改文件名第1章 sed是什么字符流編輯器 Stream Editor第2章 sed功能與版本處理出文本文件,日志,配置文件等增加,刪除,修改,查詢sed --versionsed -i 修改文件內容第3章 語法格式3.1 語法格式sed [選項] [sed指令…

python pca主成分_超越“經典” PCA:功能主成分分析(FPCA)應用于使用Python的時間序列...

python pca主成分FPCA is traditionally implemented with R but the “FDASRSF” package from J. Derek Tucker will achieve similar (and even greater) results in Python.FPCA傳統上是使用R實現的&#xff0c;但是J. Derek Tucker的“ FDASRSF ”軟件包將在Python中獲得相…