問題#3:ITトレーニング-主要企業の現在の問題と課題

今週は、 Facebookでのインタビュー中によく行われるタスクと質問の選択で終わります。 タスクは、「簡単」から「難しい」までさまざまな難易度を選択しました。 条件は再び英語のままでした。 1週間後にコメントで解決策を添付します。 頑張って!

質問:

1.ユーザーがボタンをクリックした後、0.5秒でアニメーションを開始します。 これを行う最良の方法は何ですか?

2.ユーザーが写真を受信すると、写真共有アプリケーションはシステム通知を表示します。 ユーザーが通知を削除すると、アプリケーションに写真が表示されます。 Notification Managerに送信する通知オブジェクトに関連付ける必要があるのは、次のうちどれですか?

タスク:

1。
配列numsすると、ゼロ以外の要素の相対的な順序を維持しながら、すべての0末尾に移動する関数を記述します。
たとえば、 nums = [0, 1, 0, 3, 12]場合、関数を呼び出した後、 nums[1, 3, 12, 0, 0] nums [1, 3, 12, 0, 0]ます。
注:
これは、アレイのコピーを作成せずにインプレースで実行する必要があります。
操作の合計数を最小限にします。


2。
配列numsとターゲット値kが与えられた場合、合計がkになるサブ配列の最大長を見つけます。 存在しない場合は、代わりに0を返します。

注:
nums配列全体の合計は、32ビット符号付き整数範囲内に収まることが保証されています。

例1

nums = [1, -1, 5, -2, 3], k = 3場合、
4返します。 (サブ配列[1, -1, 5, -2] sums -1、5 [1, -1, 5, -2] sums3であり、最長であるため)

例2

nums = [-2, -1, 2, 1], k = 1場合、
2を返します(サブ配列[-1, 2] sums1であり、最も長いため)

フォローアップ:
O(n)時間でできますか?


3。
入力文字列を有効にするために、無効な括弧の最小数を削除します。 すべての可能な結果を​​返します。

:入力文字列には、括弧(および)以外の文字が含まれる場合があります。

例:
"()())()" -> ["()()()", "(())()"]
"(a)())()" -> ["(a)()()", "(a())()"]
")(" -> [""]

Source: https://habr.com/ru/post/J330066/


All Articles