(leetcode)力扣100 96.只出现一次的数字(位运算)
题解给你一个 非空 整数数组 nums 除了某个元素只出现一次以外其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题且该算法只使用常量额外空间。数据范围1 nums.length 3 * 104-3 * 104 nums[i] 3 * 104除了某个元素只出现一次以外其余每个元素均出现两次。测试用例示例1输入nums[2,2,1]输出1示例 2 输入nums[4,1,2,1,2]输出4示例3输入nums[1]输出1题解时间On空间O1classSolution{publicintsingleNumber(int[]nums){intsingle0;for(intnum:nums){single^num;}returnsingle;}}思路这道题怎么说呢要是想到了位运算确实特别简单想不到的话抓耳挠腮博主。因为异或满足这个规律所以我们只需要把数组里的数按顺序异或一次最后剩下的就是只出现过一次的数。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2413676.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!