您现在的位置是:主页 > news > 成都旅游网站/西安网站seo诊断
成都旅游网站/西安网站seo诊断
admin2025/6/19 16:02:31【news】
简介成都旅游网站,西安网站seo诊断,深圳响应式网站建设公司,官方网站建设的意义只出现一次的数字题目描述分析及函数部分代码题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗&…
成都旅游网站,西安网站seo诊断,深圳响应式网站建设公司,官方网站建设的意义只出现一次的数字题目描述分析及函数部分代码题目描述
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗&…
只出现一次的数字
- 题目描述
- 分析及函数部分代码
题目描述
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
示例 1:
输入: [2,2,1]
输出: 1
示例 2:
输入: [4,1,2,1,2]
输出: 4
通过次数594,032提交次数824,712
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/single-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
分析及函数部分代码
不知道有多少人第一眼看到这道题,想到的是建立hash表。在这里就不说明hash表的方法了,我又用了一种双指针的方法,但是感觉有点画蛇添足了。
通过这个数据就能完全看出这种方法有多鸡肋了,是在惭愧,给大家看下反面教材:
class Solution {public int singleNumber(int[] nums) {int i=0;int j=0;Arrays.sort(nums);while(i<nums.length-1){int sum=0;while(nums[j]==nums[i]&&j<nums.length-1){j++;sum++;}if(sum==1){return nums[i];}i=j;}return nums[nums.length-1];}
}
然后我又看了一下官方解答,不知道大家注没注意题目中说的重复元素出现的次数都是2,每每遇到这种题,都会感觉官方题解十分完美,但是又觉得哪怕再给我一次机会,我还是想不到这种方法来解题。不知道大家是什么感想,在评论区讨论一下吧!!