摘要: 原题链接 思路:数组中仅有两个元素出现一次,其余元素均出现两次,也就是说所有元素异或的结果就等于这两个元素异或的结果,异或某一位结果为1说明在这一位这两个数字的位不同(一个为1,另一个为0),因此我们可以选择该不同的位作为划分,以这两个数字的不同位为基准,将数组中该位为1的划分到其中一个组中,为零的 阅读全文
posted @ 2021-01-15 22:08 Cruel_King 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 原题链接 思路:本题最容易想的思路就是哈希表,第二种思路是使用位运算,由于只有一个数只出现了一次,其余数字都出现了三次,那么也就是说除去这个出现一次的数字以外,剩余的数字之和可以被三整除,同时,这些数字在二进制某一位上为1的个数也应该是三的倍数,如果某一位上 1的个数不是3的倍数说明那个只出现一次的 阅读全文
posted @ 2021-01-15 21:37 Cruel_King 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 原题链接 思路:这题乍看上去好像是一个二分,其实上有更优的解法,由于从右上角往左下角看刚好是一颗二叉搜索树的形状,因此可以把这个二维数组看作是一个BST,因此解法就是BST的查找功能在此数组中的实现,将右上角元素看为根节点,从根节点开始,如果当前元素小于目标元素则找他的左子树,大于则找他右子树,否则 阅读全文
posted @ 2021-01-15 18:30 Cruel_King 阅读(91) 评论(0) 推荐(0) 编辑