問題#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] sums



3



であり、最長であるため)



例2



nums = [-2, -1, 2, 1], k = 1



場合、

2を返します(サブ配列[-1, 2] sums



1



であり、最も長いため)



フォローアップ:

O(n)時間でできますか?




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



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



例:

"()())()" -> ["()()()", "(())()"]

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

")(" -> [""]








All Articles