ゼロから始めるLeetCode Day77「1502. Can Make Arithmetic Progression From Sequence」
概要 海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。 どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。 早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。 と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。 ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。 Leetcode Python3で解いています。 ゼロから始めるLeetCode 目次 前回 ゼロから始めるLeetCode Day76「3. Longest Substring Without Repeating Characters」 次回 ゼロから始めるLeetCode Day78 「206. Reverse Linked List」 Twitter やってます。 #問題 1502. Can Make Arithmetic Progression From Sequence 難易度はEasy。 最近追加された新しめの問題です。 Easyっぽくない問題なので是非解いてみてください。 問題としては、数の配列 arr が与えられた時、連続する2つの要素間の差が同じであれば,数列は算術進行と呼ばれます。 配列を再編成して算術進行を形成できる場合は true を返し,そうでない場合は false を返してください。 Example 1: Input: arr = [3,5,1] Output: true Explanation: We can reorder the elements as [1,3,5] or [5,3,1] with differences 2 and -2 respectively, between each consecutive elements. Example 2: Input: arr =