問題演習: 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 件(本)置くことができるか調べます。
この問題は家や花壇を用いるとイメージしやすいと思います。true を家や花がある状態を指し、false はない状態を指します。家や花が 1 件(本)おきにしか置くことができず、あと n 件(本)置くことができるか調べます。
解答テンプレート
Javaの例を示します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Solution { | |
public boolean canPlaceNeighbors(boolean[] bs, int n) { | |
// Write your code here. | |
} | |
} |
入出力例
- 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 を返す。
それでは、解答と解説は次の投稿で。
---
シリコンバレーでエンジニアとして就職するには、アルゴリズムやプログラミング、システムデザインの問題が出題される面接を突破する必要があります。本サイトでは、シリコンバレーでエンジニアとして働き、面接官としての経験も豊富な筆者が、面接への対策に関する情報を配信しています。
コメント
コメントを投稿