これはGoogleのインタビューの質問です。YouTubeリンクについてはこちらをご覧ください。
タスク:
合計が指定された整数になる順不同リストから2つの整数を見つけます。
- 整数の順序付けられていないリストが与えられた場合、合計が指定された値になる2つの整数を見つけ、これら2つの整数を出力し、成功を示します(終了0)。特定の数値(つまり、最初の2つの整数が正しい数値に加算される)である必要はありません。値に加算されるペアはすべて機能します。
- 整数は正でゼロより大きい。
- 整数のリストは、整数のファイル(1行に1つの整数)を含む任意のデータ構造にできます。
- 整数が見つからない場合は、失敗を示します(終了1)。
- リスト内の異なる位置にある2つの整数を返す必要があります。(つまり、同じ位置から同じ番号を2回返すことはできません)
(注:ビデオでは、これらは厳密には要件ではありません。「インタビュアー」は彼を複数回変更しました。)
例えば。
sum2 8 <<EOF
1
7
4
6
5
3
8
2
EOF
印刷3および5終了ステータスは0 です。これ1,7で2,6は結果も許可されることに注意してください。
sum2 8 <<EOF
1
2
3
4
可能なコンボがないため、終了ステータス1を返します。4,4ルール5に従って許可されていません。