力扣136、只出现一次的数字(简单)

1 题目描述

图1 题目描述

2 题目解读

        在非空整数数组nums中,有一个元素只出现了一次,其余元素均出现两次。要求找出那个只出现一次的元素。

3 解法一:位运算

        位运算,是一种非常简便的方法。

3.1 解题思路

        异或运算,有以下三个性质。

        (1)任何数和0做异或运算,结果仍然是原来的数;

        (2)任何数和其自身做异或运算,结果是0;

        (3)异或运算满足交换律和结合律。

3.2 设计代码

#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int ret = 0;
        for (auto e : nums) ret ^= e;
        return ret;
    }
};
int main()
{
    vector<int> nums{ 2,2,3,1,3 };
    Solution s;
    int ans = s.singleNumber(nums);
    cout << ans << endl;
    return 0;
}

3.3 复杂度分析

  • 时间复杂度:O(n)。for循环枚举了一遍数组元素。
  • 空间复杂度:O(1)。没有使用额外数组空间。

3.4 提交结果

图2 提交结果

4 解题心得

  • 位运算,是一种非常简洁且有效的运算方法。
  • 异或运算,有三条性质。
  • 高效的算法,对于计算机科学来说非常重要。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣hot100 数组中的第K个最大元素 堆 三路划分

Problem: 215. 数组中的第K个最大元素 文章目录 思路复杂度Code 思路 &#x1f468;‍&#x1f3eb; 参考 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( log ⁡ n ) O(\log{n}) O(logn) Code class Solution {public int findKthLargest(int[] nums, int k…

Kafka运维相关知识

目录 一、基本概念 二、技术特性 三、设计思想 四、运维建议 一、基本概念 Apache kafka 是一个分布式的基于push-subscribe的消息系统&#xff0c;它具备快速、可扩展、可持久化的特点。它的最大的特性就是可以实时的处理大量数据以满足各种需求场景&#xff1a;比如基于h…

Facebook的社交影响力:用户行为解析与趋势

在当今数字时代&#xff0c;社交媒体已经成为人们日常生活中不可或缺的一部分&#xff0c;而Facebook作为全球最大的社交平台之一&#xff0c;其社交影响力愈发显著。本文将深入分析Facebook的社交影响力&#xff0c;解析用户行为&#xff0c;同时探讨当前和未来的社交趋势。 社…

强大的虚拟机Parallels Desktop 19 mac中文激活

Parallels Desktop是一款功能全面、易于使用的虚拟机软件&#xff0c;它为用户提供了在Mac电脑上同时运行多个操作系统的便利。 软件下载&#xff1a;Parallels Desktop 19 mac中文激活版下载 Parallels Desktop 19 mac具有快速启动和关闭虚拟机的能力&#xff0c;让用户能够迅…

记录 arm 开发板上 nginx 配置 http 服务注意事项

1. 自定义项目&#xff0c;需要在 conf.d 目录中增加一个 .conf 配置文件&#xff1a; server {listen 9200; # 端口号server_name localhost; # 服务名称location / {root /home/imx6q/media; # 项目根目录&#xff08;需要修改 n…

C++ 类与对象(中)

本节目标 1. 类的6个默认成员函数 2. 构造函数 3. 析构函数 4. 拷贝构造函数 1.类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认…

【JVM】类加载流程

目录 1.加载 2.链接 &#xff08;1&#xff09;校验 &#xff08;2&#xff09;准备 &#xff08;3&#xff09;解析 3.初始化 4.使用 5.卸载 1.加载 加载阶段&#xff0c;简言之&#xff0c;查找并加载类的二进制数据&#xff0c;生成 Class 的实例 在加载类时&#x…

QT学习日记 | QT的环境搭建

目录 前言 一、QT概述 二、QT的环境搭建 1、QT SDK安装 2、环境变量的配置 前言 本系列为小编新开的一个系列&#xff0c;主要记录小编学习QT的过程&#xff0c;作为笔记仅供各位参考&#xff1b; 一、QT概述 Qt是一个跨平台C图形应用界面框架&#xff1b;简单来说&#x…

RK3568平台 热插拔机制

一.热插拔的基本概念 热插拔是指在设备运行的情况下&#xff0c;能够安全地插入或拔出硬件设备&#xff0c;而无需关闭或重启系统。这意味着你可以在计算机或其他电子设备上插入或拔出硬件组件&#xff08;比如USB设备&#xff0c;扩展卡&#xff0c;硬件驱动器等&#xff09;…

一张序列图搞懂resilience4j的工作原理

本文主要回答以下几个问题&#xff1a; Spring Cloud与Resilience4j如何集成的&#xff08;spring-cliud-circuitbreaker-resilience4j模块的 Resilience4JAutoConfiguration类实现了主要组件的注入&#xff0c;特别是在Resilience4jBulkheadConfiguration中定义如何自定义fac…

Java特别篇--匿名对象与匿名内部类

文章目录 一、匿名对象二、匿名内部类 很多小伙伴对匿名对象和匿名内部类的写法有点陌生&#xff0c;这里专门写一篇来帮助大家认识一下他们的写法。 一、匿名对象 比如现在有一个Student类&#xff0c;里面啥也没有写&#xff1a; /*** ClassName: Student* Package: PACKAG…

kettle通过severice_name连接oracle数据源踩坑

最近在研究kettle做数据抽取核对&#xff0c;按照官网安装kettle后无法连接oracle 坑1&#xff1a;kettle 连接oracle的数据库名指的是sidname 而非severicename&#xff0c;前期一直使用severicename 如下始终报错 注意区分下&#xff1a; SID:一个数据库可以有多个实例&…

食品信息管理系统java项目ssm项目springboot项目

食品信息管理系统java项目ssm项目springboot项目&#xff0c;增删改查均已实现&#xff0c;有批量删除 前端技术: JavaScript&#xff0c;Layui&#xff0c;Html5 后端技术: Java&#xff0c;MySql&#xff0c;Spring&#xff0c;Spring Mvc&#xff0c;SpringBoot&#xff0…

AI算力专题:AI时代领先者,大装置+大模型推动AGI落地

今天分享的是AI算力系列深度研究报告&#xff1a;《AI算力专题&#xff1a;AI时代领先者&#xff0c;大装置大模型推动AGI落地》。 &#xff08;报告出品方&#xff1a;中银证券&#xff09; 报告共计&#xff1a;28页 四核驱动引领智慧科技新潮流 商汤是一家行业领先的人工…

幻兽帕鲁服务器多少钱——幻兽帕鲁服务器价格介绍

2024年幻兽帕鲁服务器价格表更新&#xff0c;阿里云、腾讯云和华为云Palworld服务器报价大全&#xff0c;4核16G幻兽帕鲁专用服务器阿里云26元、腾讯云32元、华为云26元&#xff0c;阿腾云atengyun.com分享幻兽帕鲁服务器优惠价格表&#xff0c;多配置报价&#xff1a; 幻兽帕鲁…

2023年09月CCF-GESP编程能力等级认证Python编程二级真题解析

一、单选题(共15题,共30分) 第1题 我国第一台大型通用电子计算机使用的逻辑部件是 ( )。 A:集成电路 B:大规模集成电路 C:晶体管 D:电子管 答案:D 第2题 下列流程图的输出结果是( )? A:5 12 B:12 5 C:5 5 D:12 12 答案:B 第3题 如果要找出整数 a …

【经典项目】Java小游戏 —— 弹力球

一、功能需求 设计一个Java弹球小游戏的思路如下&#xff1a; 创建游戏窗口&#xff1a;使用Java图形库&#xff08;如Swing或JavaFX&#xff09;创建一个窗口&#xff0c;作为游戏的可视化界面。 绘制游戏界面&#xff1a;在游戏窗口中绘制游戏所需的各个元素&#xff0c;包括…

在Mixamo网站上,下载的动画导入unity给自己的模型添加后出错怎么解决

在Mixamo网站上&#xff0c;下载的动画导入unity给自己的模型添加后出错 一、在Mixamo下载的模型可以正常使用二、在自己的模型和unity自带模型上就出错1.解决方法2.解决成功 注意 一、在Mixamo下载的模型可以正常使用 二、在自己的模型和unity自带模型上就出错 1.解决方法 选…

Python XPath解析html出现⋆解决方法 html出现#123;解决方法

前言 爬网页又遇到一个坑&#xff0c;老是出现乱码&#xff0c;查看html出现的是&#数字;这样的。 网上相关的“Python字符中出现&#的解决办法”又没有很好的解决&#xff0c;自己继续冲浪&#xff0c;费了一番功夫解决了。 这算是又加深了一下我对这些iso、Unicode编…

Log4j2-11-log4j2 Layout 布局入门介绍

Layout 布局 Appender使用Layout将LogEvent格式化为一种表单&#xff0c;以满足将要消费日志事件的任何需求。 在Log4j中。x和Logback布局被期望将事件转换为字符串。 在Log4j 2布局返回一个字节数组。这使得Layout的结果可以在更多类型的appender中使用。然而&#xff0c;这…