leetcode-欠落している番号-1

消える数字

この問題では、
  配列numsに0からnまでのすべての整数が含まれている必要がありますが、1つが欠落しています。不足している整数を見つけるためのコードを書いてください。O(n)時間でできますか?
アイデアはある
  配列の要素が正確に添字と同じである0からnまでの数字、しているので、あなたは2つの式^ A = 0と0 ^を使用することができ、プログラムに=という。唯一欠けている番号が1回表示され、残りの数字は2回表示されます。
コード

#include <stdio.h>

int FindNum(int str[],int len)
{
	int s = 0;

	for (int i = 0; i < len; i++)
	{
		s ^= i;
		s ^= str[i];
	}
	s ^= len;
	return s;
}

int main()
{
	int str[] = { 1, 9, 8, 7, 6, 4, 3, 2, 10 , 0};
	printf("%d", FindNum(&str, sizeof(str) / sizeof(int)));
	return 0;
}

おすすめ

転載: blog.csdn.net/weixin_43580319/article/details/113093429