程序员面试金典 - 面试题 17.04. 消失的数字(数学/位运算)

1. 题目

数组 nums 包含从0到n的所有整数,但其中缺了一个。

请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?

注意:本题相对书上原题稍作改动
示例 1:
输入:[3,0,1]
输出:2示例 2:
输入:[9,6,4,2,3,5,7,0,1]
输出:8

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/missing-number-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

2.1 数学

class Solution {
public:int missingNumber(vector<int>& nums) {int i, sum = 0, n = nums.size();for(i = 0; i < nums.size(); ++i)sum += nums[i];return n*(n+1)/2-sum;}
};

在这里插入图片描述

2.2 位运算

class Solution {
public:int missingNumber(vector<int>& nums) {int XOR = 0;for(int i = 0; i < nums.size(); ++i)XOR ^= i^nums[i];XOR ^= nums.size();// 0,1,...n, nums[0],...nums[n-1]// 出现两次的异或抵消为0,出现一次的就是答案return XOR;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476893.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前两年在MSDN里找到的HTC示例,一直没用过,先在这里存个备份

下载地址&#xff1a;http://files.cnblogs.com/bobowu/HTC%20Sample%20from%20MSDN.zip包括&#xff1a;calendar、colorpick、coolbar、dataselect、imagerollover、mask、menu、movable、mpc、rowover、slider、tooltips最近只用过movable来实现在地图的拖动效果&#xff0c…

文件标识符无效。使用 fopen 生成有效的文件标识符。_「存储架构」块存储、文件存储和对象存储(第1节)...

全球传输和生成的数据比以往任何时候都多。国际数据公司(IDC)的分析师预计&#xff0c;到2025年&#xff0c;全球数据层将增至163zb。这比2016年16.1 ZB的数据增长了1000%以上。数据大量增加的原因是多方面的:生成数据的来源和设备比以前多得多——嵌入式系统和设备正在收集数据…

微软,把数据中心部署到了海底…

源 | 直观学机械、蓝点网2014年微软首次提出了水下数据中心概念&#xff0c;当时认为这个概念有望为沿海人口提供高速云服务&#xff0c;并节省能源。2015年&#xff0c;微软在太平洋开展为期105天的部署过程中证明了水下数据中心概念是切实可行的。2018年&#xff0c;微软把一…

程序员面试金典 - 面试题 16.15. 珠玑妙算(map计数)

1. 题目 珠玑妙算游戏&#xff08;the game of master mind&#xff09;的玩法如下。 计算机有4个槽&#xff0c;每个槽放一个球&#xff0c;颜色可能是红色&#xff08;R&#xff09;、黄色&#xff08;Y&#xff09;、绿色&#xff08;G&#xff09;或蓝色&#xff08;B&am…

python方向键控制角色_python方向键控制上下左右代码

本文所示代码实现python编程方向键控制图片上下左右&#xff0c;我们首先看下演示结果。 演示&#xff1a;实例代码&#xff1a; bif"1.jpg" mif"2.jpg" import pygame,sys from pygame.locals import * pygame.init() screenpygame.display.set_mode((640…

测试ASP.NET 2.0中Gridview控件高级技巧

ASP.NET 2.0中&#xff0c;新增加的gridview控件的确十分强大&#xff0c;弥补了在asp.net 1.1中&#xff0c;使用datagrid控件时的不足之处。因为在asp.net 1.1中&#xff0c;在使用datagrid时&#xff0c;很多情况下依然要编写大量的代码&#xff0c;十分不方便&#xff0c;而…

一场AI技术引发的金融业“降本增效”

文 | 卖萌酱大家好&#xff0c;我是卖萌酱。“全面赋能千行百业”是AI的重要使命&#xff0c;政务、法律、金融、医疗、制造等传统行业往往智能化程度低&#xff0c;在效率、成本和收益方面蕴藏着巨大的优化空间。其中&#xff0c;金融业&#xff0c;就正在AI技术的赋能下&…

LeetCode 999. 车的可用捕获量

1. 题目 在一个 8 x 8 的棋盘上&#xff0c;有一个白色车&#xff08;rook&#xff09;。也可能有空方块&#xff0c;白色的象&#xff08;bishop&#xff09;和黑色的卒&#xff08;pawn&#xff09;。它们分别以字符 “R”&#xff0c;“.”&#xff0c;“B” 和 “p” 给出…

matlab 转换为正整数_【MATLAB】专题1笔记 MATLAB基础知识

视频课程参考&#xff1a;https://www.bilibili.com/video/BV19J411W7Ta数值问题-->求解算法-->程序实现-->结果分析MATLAB 功能 &#xff1a;数值计算&#xff0c;符号计算&#xff0c;图形绘制&#xff0c;程序流程绘制&#xff0c;工具箱数值计算方法&#xff1a…

showModalDialog和showModelessDialog使用心得

一、showModalDialog和showModelessDialog有什么不同&#xff1f;  showModalDialog&#xff1a;被打开后就会始终保持输入焦点。除非对话框被关闭&#xff0c;否则用户无法切换到主窗口。类似alert的运行效果。  showModelessDialog&#xff1a;被打开后&#xff0c;用户可…

python网络编程内容_Python网络编程

本文要写的内容也称为Python套接字编程&#xff0c;并简单介绍socketserver类。参考教程主要是《Python核心编程》。 首先&#xff0c;客户端/服务器模型&#xff0c;客户端向服务器发送请求&#xff0c;在请求合理的情况下&#xff0c;服务器返回客户端需要的资源&#xff0c;…

程序员面试金典 - 面试题 16.17. 连续数列(DP/分治)

1. 题目 给定一个整数数组&#xff08;有正数有负数&#xff09;&#xff0c;找出总和最大的连续数列&#xff0c;并返回总和。 示例&#xff1a; 输入&#xff1a; [-2,1,-3,4,-1,2,1,-5,4] 输出&#xff1a; 6 解释&#xff1a; 连续子数组 [4,-1,2,1] 的和最大&#xff0c…

视觉能力提升112%!李飞飞团队让AI进入社会,学会了“骗”标注…

作者 | 李梅编辑 | 陈彩娴来源 | AI科技评论人类从与他人的互动中学习&#xff0c;而目前的人工智能却常常只能在与社会隔离的环境中学习。所以当我们把一个智能体放到真实世界中时&#xff0c;它会不可避免地在遇到大量新的数据&#xff0c;无法应对不断变化的新需求。如何将智…

.Net 1.1下WEB引用Win控件的两个Bug

1.WEB系统引用windows控件的方式来实现页面打印的功能&#xff0c;一直使用比较正常&#xff0c;有一天更新后部分机器不能正常加载控件。后来分析的N久&#xff0c;发现是打印控件上我加了一个Label&#xff0c;使用了Arial Black字体&#xff0c;如果客户的机器上没有这种字体…

程序员面试金典 - 面试题 16.11. 跳水板(数学)

1. 题目 你正在使用一堆木板建造跳水板。 有两种类型的木板&#xff0c;其中长度较短的木板长度为shorter&#xff0c;长度较长的木板长度为longer。 你必须正好使用 k 块木板。编写一个方法&#xff0c;生成跳水板所有可能的长度。 返回的长度需要从小到大排列。 示例&…

信息抽取终于实现了大一统~

2022年了&#xff0c;有人说信息抽取领域早已是诸神黄昏。然而即使这样&#xff0c;依然“内卷”不止。似乎这个卷成麻花的领域已经看不到希望&#xff1f;但是不久前&#xff0c;这个沉寂之地忽然翻起了浪花&#xff0c;一篇发表在ACL2022上的工作&#xff0c;昭示着这个领域终…

python的输出函数_Python

Python print() 函数 描述 print() 方法用于打印输出&#xff0c;最常见的一个函数。 在 Python3.3 版增加了 flush 关键字参数。 print 在 Python3.x 是一个函数&#xff0c;但在 Python2.x 版本不是一个函数&#xff0c;只是一个关键字。 语法 以下是 print() 方法的语法: pr…

ubuntu6.06容易死机的一种解决方法

修改 /etc/X11/xorg.conf 在 Section "Module" 中把下面这句话注视掉。 # Load "dri" 然后&#xff0c;在下面这个Section中&#xff08;你的可能有些出入&#xff0c;但应该有个相似的Section&#xff09;&#xff0c;把 Driver "ati" 改成 Dri…

程序员面试金典 - 面试题 17.12. BiNode(BST中序遍历)

1. 题目 二叉树数据结构TreeNode可用来表示单向链表&#xff08;其中left置空&#xff0c;right为下一个链表节点&#xff09;。 实现一个方法&#xff0c;把二叉搜索树转换为单向链表&#xff0c;要求值的顺序保持不变&#xff0c;转换操作应是原址的&#xff0c;也就是在原始…

从大一统视角理解扩散模型(Diffusion Models)

文 | 中森知乎资料来源这篇文章是近期笔者阅读扩散模型的一些技术博客和概览的一篇梳理。主要参考的内容来自Calvin luo的论文&#xff0c;针对的对象主要是对扩散模型已经有一些基础了解的读者。Calvin luo 的这篇论文为理解扩散模型提供了一个统一的视角&#xff0c;尤其是其…