ゼロから始めるLeetCode Day90「1011. Capacity To Ship Packages Within D Days」
概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day89 「62. Unique Paths」 次回 ゼロから始めるLeetCode Day91「153. Find Minimum in Rotated Sorted Array」 Twitter やってます。 問題 1011. Capacity To Ship Packages Within D Days 難易度はMedium。 コーディング面接対策のために解きたいLeetCode 60問 からの抜粋です。 コンベアベルトには,ある港から別の港へD日以内に出荷しなければならない荷物がある. コンベヤベルト上のi番目の荷物には重み[i]がある. 毎日,コンベヤベルト上の荷物を船に積み込む(重さで与えられた順序で).船の最大重量容量を超える重量を積むことはできない. コンベヤベルト上のすべての荷物がD日以内に出荷されるようになる船の最小重量容量を返します。 Example 1: Input: weights = [1,2,3,4,5,6,7,8,9,10], D = 5 Output: 15 Explanation: A ship capacity of 15 is the minimum to ship all the packages in 5 days like this: 1st day: 1