PTA:Single Number (15分)(C语言)

谁借莪1个温暖的怀抱¢ 2023-07-24 02:47 62阅读 0赞

Given a non-empty array of integers, every element appears twice except for one. Find that single one.

Note:

Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

Tip:

You can use bitwise to solve this problem.

函数接口定义:
long long singleNumber(long long* nums, int numsSize);

裁判测试程序样例:
#include
#define MAXN 1000005

long long nums[MAXN];

long long singleNumber(long long* nums, int numsSize);

int main()
{

int N;

scanf(“%d”, &N);
for(int i = 0; i < N; i++)
scanf(“%lld”, &nums[i]);

printf(“%lld”, singleNumber(nums, N));

return 0;

}

/* 请在这里填写答案 */

输入样例1:
3
2 2 1

输出样例1:
1

输入样例2:
5
4 1 2 1 2

输出样例2:
4

  1. long long singleNumber(long long* nums, int numsSize)
  2. {
  3. int i;
  4. long long ans = nums[0];
  5. for (i = 1; i < numsSize; i++)
  6. ans = ans ^ nums[i];
  7. return ans;
  8. }

发表评论

表情:
评论列表 (有 0 条评论,62人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C语言10.15

    题目描述 输入3个字符串,按从小到大的顺序输出。要求使用指针的方法进行处理。 输入 3行,每行一个用字符串。保证每个字符串的长度不超过20。 输出 按从小