【发布时间】:2012-07-24 12:29:56
【问题描述】:
我最近正在研究一个项目欧拉问题集,遇到了这个奇怪的问题。我已经用第一个解决方案正确解决了问题,但我不知道为什么其他版本不能按预期工作。
这是有效的代码:
asort($card_count, SORT_NUMERIC);
$card_count = array_reverse($card_count, true);
这是没有的代码:
arsort($card_count, SORT_NUMERIC);
这是我唯一改变的一行,它对最终结果产生了巨大的影响。有什么想法吗?
【问题讨论】:
-
你以后如何读取数组——你使用什么索引?
-
这两个对我来说都是一样的:codepad.org/80bWvlTv
-
这是一个扑克解决方案,所以基本上它是将键中的卡值(例如'2'或'A'或'J')映射到它在输入中出现的次数,所以它可能看起来像这样 ['A' => 2, '8' => 2, '4' => 1] 代表两个 A,两个 8 和一个 4。我依靠这样一个事实,即最高金额应该在前面,而较低的金额应该在后面。如有必要,我可以发布完整的代码解决方案,只是不想泄露答案,因为我知道它违反 PE 政策。
-
所以你说这是家庭作业。
-
法律,不,正如我在问题中所说,它是一个我已经解决的项目欧拉问题......