面试题之算法集锦,试题算法集锦
思路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
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
Windows 11 KB5054979中的新功能以及如何解决更新问题
3 周前ByDDD
如何修复KB5055523无法在Windows 11中安装?
2 周前ByDDD
Inzoi:如何申请学校和大学
3 周前ByDDD
如何修复KB5055518无法在Windows 10中安装?
2 周前ByDDD
Roblox:Dead Rails - 如何召唤和击败Nikola Tesla
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版
中文版,非常好用

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver CS6
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。