今天做编程题时学到了一招。当遇到常理上来说需要Hash的题目,而又要求不能使用额外的空间时,可以用自身输入的数组来Hash。因为有些题目只要求找出“缺失的元素”,“出现一次的元素”或者“重复出现两次的元素”,并把元素大小限制在[1,N]之间,这样,用自身数组元素的正负可以来进行Hash。
还遇到了一道求解一种游戏是否能够获胜的问题。这种问题在《编程之美》中看到过。因为给出一种开局一定可以知道谁能够胜,那么其实只需要求解两种状态:一定会输的β状态,以及可以一步到达β状态的α状态。这道题目是用记忆化搜索来寻找答案,用bitset可以表示游戏的某种状态。这道题目因为以前看到过类似的,所以自己解出来了,还是比较高兴的。
晚上看了一道之前做过的题目,也顺利地重复做出来了,可见之前的印象还是比较深刻的。
今天白天去看了《生化危机》。这部电影的无脑程度和没营养对白真是让我深感钱花的不值。
走了一天的路,走了2万多步,我也有些筋疲力尽了。
本文介绍了如何巧妙利用输入数组进行Hash解决特定编程问题,并分享了一种游戏获胜策略的解题思路,采用记忆化搜索和bitset表示游戏状态。
1580

被折叠的 条评论
为什么被折叠?



