(C语言)力扣 17.04. 消失的数字

简介: (C语言)力扣 17.04. 消失的数字

1.第一种解法

利用异或,将0到N的每个元素都异或一遍后再与数组每个元素异或得到的值就为消失的数字

int missingNumber(int* nums, int numsSize)
{
   int x=0;
   for(int i=0;i<numsSize;i++)
   {
        x^=nums[i];
   }
    for(int i=0;i<=numsSize;i++)
    {
        x^=i;
    }
   return x;
}

2.第二种解法

求和解法,将0到N的数字全部相加后再与数组每个数字相减得到的就为消失的数字

int missingNumber(int* nums, int numsSize)
{
  int sum = 0;
  for (int i = 0; i <= numsSize; i++)
  {
    sum += i;
  }
  for (int i = 0; i < numsSize; i++)
  {
    sum -= nums[i];
  }
  return sum;
}

结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!

目录
相关文章
|
19小时前
|
存储 编译器 C语言
从C语言到C++_11(string类的常用函数)力扣58和415(中)
从C语言到C++_11(string类的常用函数)力扣58和415
5 0
|
19小时前
|
存储 C语言 C++
从C语言到C++_11(string类的常用函数)力扣58和415(上)
从C语言到C++_11(string类的常用函数)力扣58和415
5 0
|
6天前
|
存储
手把手设计C语言版循环队列(力扣622:设计循环队列)
手把手设计C语言版循环队列(力扣622:设计循环队列)
26 0
|
6天前
|
机器学习/深度学习 C语言
LeetCode | 17.04.消失的数字和189.旋转数组
17.04.消失的数字 OJ链接 这里题目要求在时间复杂度上O(n)我们介绍三种方法,看看哪种方法适合这道题~~
|
6天前
|
机器学习/深度学习
leetcode:面试题 17.04. 消失的数字(找单身狗/排序/公式)
leetcode:面试题 17.04. 消失的数字(找单身狗/排序/公式)
23 0
|
6天前
leetcode-面试题 17.19:消失的两个数字
leetcode-面试题 17.19:消失的两个数字
39 0
消失的数字,旋转数组(leetcode 一题多解)
消失的数字,旋转数组(leetcode 一题多解)
|
5月前
|
算法 C语言
C语言 每日一题 力扣习题 10.19日 day1
C语言 每日一题 力扣习题 10.19日 day1
22 0
|
6月前
|
C语言
力扣 232. 用栈实现队列(C语言实现)
用C语言实现的栈以及用栈实现队列
27 0
|
6月前
|
C语言 C++
力扣 225. 用队列实现栈(C语言实现)
用C语言实现的队列和栈
29 0