問題演習: No Adjacent Neighbors

今回は「No Adjacent Neighbors」という問題です。難易度は「Easy」です。

問題

1 つの boolean 型の配列 a と 1 つの整数 n が与えられる。配列にはいくつかの true と false が既に格納されており、あと n 個の true を格納できるか調べたい。ただし true の隣には false しか置けない。あと n  個の true を格納できるとき true を返し、格納できないときは false を返せ。

この問題は家や花壇を用いるとイメージしやすいと思います。true を家や花がある状態を指し、false はない状態を指します。家や花が 1 件(本)おきにしか置くことができず、あと n 件(本)置くことができるか調べます。

解答テンプレート

Javaの例を示します。


入出力例

  • bs = [true, false, false, false, true]、n = 1 のとき true を返す。
  • bs = [true, false, false, false, true]、n = 2 のとき false を返す。
  • bs = [false, false, true, false, false]、n = 1 のとき true を返す。

それでは、解答と解説は次の投稿で。
---
シリコンバレーでエンジニアとして就職するには、アルゴリズムやプログラミング、システムデザインの問題が出題される面接を突破する必要があります。本サイトでは、シリコンバレーでエンジニアとして働き、面接官としての経験も豊富な筆者が、面接への対策に関する情報を配信しています。

このエントリーをはてなブックマークに追加

コメント

このブログの人気の投稿

問題演習: Hamming Weight

シリコンバレーの物価と家賃

問題演習: Find Max Element per Level in Binary Tree