banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

マイクロソフト(Microsoft)からのアルゴリズム設計の筆記試験問題をいくつか共有します。

今晩はインターネットで少し調べてみましたが、マイクロソフト(Microsoft)からのいくつかの筆記試験問題を見つけました。これは主にマイクロソフトの学生センターのインターンシップ機会に向けられており、マイクロソフトでのインターンシップを考えている方は、自分で試してみることを検討してみてください。初心者にとってはかなり難しいと感じるかもしれません。私自身は現在、コードを書く時間がありませんが、最近は試験で忙しいです。もしアイデアがあれば、直接コメントを残すか、私と連絡を取ることもできます。

問題 1:整数の数列があり、要素の値は 0〜65535 のいずれかの数値です。同じ値は繰り返し現れません。ただし、0 は例外であり、繰り返し現れることがあります。この数列からランダムに 5 つの値を選択した場合、これらの 5 つの値が連続しているかどうかを判断するアルゴリズムを設計してください。

注意:- 5 つの値は順不同であっても構いません。例:8 7 5 0 6- 0 は任意の値にマッチします。例:8 7 5 0 6 の 0 は 9 または 4 にマッチします - 0 は複数回現れる可能性があります - 複雑さが O (n2) の場合は得点されません。

問題 2:二分木上の任意の 2 つのノードの最も近い共通の親ノードを見つけるアルゴリズムを設計してください。複雑さが O (n2) の場合は得点されません。

問題 3:ソートされた二分木があり、f=(最大値 + 最小値)/2 とします。f 値に最も近く、f 値より大きいノードを見つけるアルゴリズムを設計してください。複雑さが O (n2) の場合は得点されません。

問題 4:整数の数列があり、要素の値は 1〜N(N は比較的大きな正の整数)のいずれかの数です。同じ値は繰り返し現れません。数列内で条件を満たす数対の数を見つけるアルゴリズムを設計してください。条件は、数対の 2 つの数の合計が N+1 と等しいことです。複雑さが O (n) であれば最適ですが、O (n2) の場合は得点されません。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。