http://www.lintcode.com/en/problem/longest-words/
朋友推荐的网站,但是,只支持 C++,JAVA,PYTHON2/3,因为是刚入门,所以,找了一题应该最简单的。
然而,楼主用的 php,其他不会,所以,自己在本地写了一手。
此题给了提示:
遍历两次的办法很容易想到,如果只遍历一次你有没有什么好办法?
但是,经我一想哪里需要两次循环。用我大 php 一次循环加个排序不就好了吗。 原数据:
Array
(
[0] => dddd
[1] => a
[2] => eeeee
[3] => ccc
[4] => bb
)
最大数:eeeee
渣代码:
<?php
$a = [
'dddd',
'a',
'eeeee',
'ccc',
'bb',
];
$arr = [];
foreach ($a as $k => $v) {
$arr[strlen($v)] = $v;
}
echo '<pre>';
print_r($a);
krsort($arr);
print_r('最大数:' . current($arr));
一直听闻,php 对于数组的处理比其他语言要厉害。难道,果真如此,其他语言,对于这题有啥不同的解法,请赐教!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.