C ++中排序数组中的单个元素
假设我们有一个仅由整数组成的排序数组,其中每个元素恰好出现两次,除了一个元素恰好出现一次。我们必须找到仅出现一次的单个元素。因此,如果数组类似于[1、2、3、3、4、4、8、8],则输出为2
为了解决这个问题,我们将遵循以下步骤-
回答:= 0
适用于0到nums数组大小的范围
ans:= ans XOR nums [i]
返回ans
例子(C ++)
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h>using namespace std;
class Solution {
public:
int singleNonDuplicate(vector<int>& nums) {
int ans = 0;
for(int i = 0;i < nums.size(); i++)ans ^= nums[i];
return ans;
}
};
main(){
Solution ob;
vector<int> v = {1,1,2,3,3,4,4,8,8};
cout << (ob.singleNonDuplicate(v));
}
输入项
[1,1,2,3,3,4,4,8,8]
输出结果
2
以上是 C ++中排序数组中的单个元素 的全部内容, 来源链接: utcz.com/z/331211.html