摘要:
题意:如果两个字符串是对称的,就返回true。对称就是将串1中的同一字符都一起换掉,可以换成同串2一样的。思路:ASCII码表哈希就行了。需要扫3次字符串,共3*n的计算量。复杂度O(n)。从串左开始扫,若字符没有出现过,则赋予其一个特定编号,在哈希表中记录,并将该字符改成编号。对串2同样处理。其实... 阅读全文
摘要:
题意:找到最接近target的3个元素之和,并返回该和。思路:用2个指针,时间复杂度O(n^2)。 1 int threeSumClosest(vector& nums, int target) { 2 int sum=nums[0]+nums[1]+nums[2]; 3 sort(... 阅读全文
摘要:
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/yjq24-logs/42653430.html 上次说了胜态和必败态,还记得最后的练习么?桌子上有15个石子,每人每次可以拿去1个或3个石子,拿走最后一个石子的人赢,列出所有的必败态:0, 阅读全文
摘要:
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://yjq24.blogbus.com/logs/42826226.html大致上是这样的:有两堆石子,不妨先认为一堆有10,另一堆有15个,双方轮流取走一些石子,合法的取法有如下两种:1)在一堆石子中取走任意多颗;2)在两堆 阅读全文
摘要:
题意:思路: 如果全部扑克牌数目异或的结果ans为0,则必输,输出0。否则,必须要给对方一个P状态,可以对所有扑克堆进行逐个排查,将ans^a[i]就可以得到除了a[i]之外其他扑克数的异或结果tmp,目的就是要使得tmp为0,那么肯定要从a[i]堆中拿走一些牌使得剩下的牌数异或tmp为0。可能出... 阅读全文
摘要:
题意: 给一个有n*m 个格子的棋盘,将一个硬币放在右上角一格,每次可以往左/下/左下移动一格,碰到不能移动的局面者输。思路: 找P/N状态。先将(n,1)归为P状态,那么能一步到达此位置的有3个位置,分别是其上/右/右上的格子。根据这个规律来找,在整个棋盘的格子上标上P和N。可以发现,棋盘上是... 阅读全文