目次
面试题之算法集锦,试题算法集锦
ホームページ php教程 php手册 面试题之算法集锦,试题算法集锦

面试题之算法集锦,试题算法集锦

Jun 13, 2016 am 08:55 AM
面接の質問

面试题之算法集锦,试题算法集锦

思路1:<span>
把A去重得到A1</span>,B去重得到B1,然后对A1,B1分别进行排序,然后遍历较短的字符串的每个字符是否存在于较长的字符串中,<span>存在则输出
问题</span>:
1.思路很简单,基本大家都会这么考虑,<span>但是面试的时候就没有亮点了
思路2</span>:<span>
假设AB串只包含小写(其实无所谓)</span>,那么创建一个数组,数组的key为a->z,<span>value都是0;
</span><?<span>php
    </span><span>function</span> stringToChar(<span>$str</span>,<span>$num</span>=1,<span>$tmp</span>=<span>null</span><span>){
        </span><span>if</span>(<span>empty</span>(<span>$tmp</span><span>)){
</span><span>$tmp</span>=<span>array</span>('a'=>0,'b'=>0,'c'=>0,'d'=>0,'e'=>0,'f'=>0,'g'=>0,'h'=>0,'i'=>0,'j'=>0,'k'=>0,'l'=>0,'m'=>0,'n'=>0,'o'=>0,'p'=>0,'q'=>0,'r'=>0,'s'=>0,'t'=>0,'u'=>0,'v'=>0,'w'=>0,'x'=>0,'y'=>0,'z'=>0<span>);
        }
        </span><span>$arr_temp</span>=<span>str_split</span>(<span>$str</span>,1<span>);
        </span><span>foreach</span>(<span>$arr_temp</span> <span>as</span> <span>$v</span><span>){
            </span><span>if</span>(<span>$tmp</span>[<span>$v</span>]<<span>$num</span><span>){
                </span><span>$tmp</span>[<span>$v</span>]+=<span>$num</span><span>;
            }
        }
        </span><span>return</span> <span>$tmp</span><span>;
    }
    </span><span>function</span> getStringIntersect(<span>$str1</span>, <span>$str2</span><span>){
        </span><span>$temp</span>=stringToChar(<span>$str1</span>,1<span>);
        </span><span>//</span><span>$str2的$num用2 就是为了区分 stemp中的原来的1 是 $str1中设置的</span>
        <span>$temp</span>=stringToChar(<span>$str2</span>,2,<span>$temp</span><span>);
        </span><span>$result</span>=''<span>;
        </span><span>foreach</span> (<span>$temp</span> <span>as</span> <span>$key</span> => <span>$value</span><span>) {
            </span><span>if</span>(<span>$value</span>===3<span>){
                </span><span>$result</span>.=<span>$key</span><span>;
            }
        }
        </span><span>return</span> <span>$result</span><span>;
    }
    </span><span>$A</span>="common";<span>//</span><span>"hello";</span>
    <span>$B</span>="month";<span>//</span><span>"jeesite";</span>
    <span>$result</span>=getStringIntersect(<span>$A</span>, <span>$B</span><span>);
    </span><span>echo</span> <span>$result</span><span>;
</span>?><br />今天随便浏览网页的时候又发现了这篇文章(一次谷歌面试趣事)<br />我想起来了 思路二出自这篇文章。
ログイン後にコピー

 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Go 言語の面接でよくある 5 つの質問と回答 Go 言語の面接でよくある 5 つの質問と回答 Jun 01, 2023 pm 08:10 PM

近年非常に人気が高まっているプログラミング言語として、Go言語は多くの企業や企業の面接で注目の的となっています。 Go 言語の初心者にとって、面接プロセス中に関連する質問にどのように答えるかは、検討する価値のある問題です。初心者向けに、Go 言語の面接でよくある 5 つの質問と回答を示します。 Go言語のガベージコレクションの仕組みを紹介してください。 Go 言語のガベージ コレクション メカニズムは、マーク スイープ アルゴリズムと 3 色マーキング アルゴリズムに基づいています。 Go プログラムのメモリ容量が足りない場合、Go ガベージ コレクターが

2023 年のフロントエンド React 面接の質問の概要 (コレクション) 2023 年のフロントエンド React 面接の質問の概要 (コレクション) Aug 04, 2020 pm 05:33 PM

有名なプログラミング学習 Web サイトとして、php 中国語 Web サイトは、フロントエンド開発者が React 面接の障害を準備してクリアできるように、React 面接の質問をいくつかまとめています。

2023 年 Web フロントエンド面接厳選質疑応答完全集(コレクション) 2023 年 Web フロントエンド面接厳選質疑応答完全集(コレクション) Apr 08, 2021 am 10:11 AM

この記事では、Web フロントエンドの面接で収集する価値のある質問をいくつか抜粋してまとめています (回答付き)。一定の参考値があるので、困っている友達が参考になれば幸いです。

マスターしなければならない 50 の Angular 面接の質問 (コレクション) マスターしなければならない 50 の Angular 面接の質問 (コレクション) Jul 23, 2021 am 10:12 AM

この記事では、Angular の面接でマスターすべき 50 の質問を初級、中級、上級の 3 つのパートに分けて分析し、徹底的に理解するのに役立ちます。

インタビュアー: 高同時実行性についてどのくらい知っていますか?私:うーん... インタビュアー: 高同時実行性についてどのくらい知っていますか?私:うーん... Jul 26, 2023 pm 04:07 PM

高い同時実行性は、ほぼすべてのプログラマーが望んでいるエクスペリエンスです。理由は簡単です。トラフィックが増加すると、インターフェイスの応答タイムアウト、CPU 負荷の増加、頻繁な GC、デッドロック、大規模なデータ ストレージなど、さまざまな技術的問題が発生するためです。これらの問題は、技術の深さの継続的な改善を促進することができます。

高頻度の知識ポイントを習得するために、これらのフロントエンドの面接の質問を見てください (4) 高頻度の知識ポイントを習得するために、これらのフロントエンドの面接の質問を見てください (4) Feb 20, 2023 pm 07:19 PM

毎日 10 問。100 日後には、フロントエンド面接の高頻度の知識ポイントをすべてマスターしていることになります。 ! ! , 記事を読みながら、答えを直接見るのではなく、まず知っているかどうか、知っている場合の答えは何かを考えてください。考えて、答えと比べてみてください。それが良いでしょうか? もちろん、私の答えよりも良い答えがある場合は、コメント欄にメッセージを残して、テクノロジーの美しさについて一緒に話し合ってください。

2023 年の Vue の高頻度面接質問の共有 (回答分析付き) 2023 年の Vue の高頻度面接質問の共有 (回答分析付き) Aug 01, 2022 pm 08:08 PM

この記事では、2023 年の vue の高頻度面接で収集する価値のある厳選された質問 (回答付き) をまとめています。一定の参考値があるので、困っている友達が参考になれば幸いです。

高頻度の知識ポイントを習得するために、これらのフロントエンドの面接の質問を見てみましょう (5) 高頻度の知識ポイントを習得するために、これらのフロントエンドの面接の質問を見てみましょう (5) Feb 23, 2023 pm 07:23 PM

毎日 10 問。100 日後には、フロントエンド面接の高頻度の知識ポイントをすべてマスターしたことになります。 ! ! , 記事を読みながら、答えを直接見るのではなく、まず知っているかどうか、知っている場合の答えは何かを考えてください。考えて、答えと比べてみてください。それが良いでしょうか? もちろん、私の答えよりも良い答えがある場合は、コメント欄にメッセージを残して、テクノロジーの美しさについて一緒に話し合ってください。

See all articles