力扣最热一百题——只出现一次的数字

这个合集已经很久没有更新了,今天来更新更新~~~


目录

力扣题号

题目

题目描述

示例

提示

题解

Java解法一:Map集合

Java解法二:位运算

C++位运算代码


力扣题号

136. 只出现一次的数字 - 力扣(LeetCode)

下述题目描述和示例均来自力扣

题目

题目描述

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

示例

示例 1 :

输入:nums = [2,2,1]
输出:1

示例 2 :

输入:nums = [4,1,2,1,2]
输出:4

示例 3 :

输入:nums = [1]
输出:1

提示

  • 1 <= nums.length <= 3 * 104
  • -3 * 104 <= nums[i] <= 3 * 104
  • 除了某个元素只出现一次以外,其余每个元素均出现两次。

题解

Java解法一:Map集合

使用map集合记录每一个数字出现的次数确实是我一开始的想法,遍历这个数组,记录每次遇到的数字的次数,key 是数字,value是这个数字出现的次数,然后寻找那个value为1的值即可。

class Solution {
    public int singleNumber(int[] nums) {
        // 定义出map集合
        Map<Integer,Integer> map = new HashMap<>();
        // 将nums 的数据存储到map之中
        for (int num : nums) {
            map.put(num, map.getOrDefault(num, 0) + 1);
        }
        // 寻找那个为一的元素
        for (Integer key : map.keySet()) {
            if (map.get(key) == 1){
                // 找到了直接返回
                return key;
            }
        }
        return -1;
    }
}

那还是挺慢的,只打败了7.72%的人

Java解法二:位运算

这个东西,刚好是两位两位的,一位不一样,直接异或运算,

不理解异或运算可以看看力扣给的,

 

class Solution {
    public int singleNumber(int[] nums) {
        int res = 0;
        for (int num : nums) {
            res ^= num;
        }
        return res;
    }
}

 


C++位运算代码

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int res = 0;
        for(auto num : nums){
            res ^= num;
        }
        return res;
    }
};

我就好奇前80%的人都写出来了啥玩意儿。

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

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

相关文章

腾讯云对象存储COS计算文件的大小

properties配置类 TencentCos.APPIDxxxxx TencentCos.SecretIdxxxxxxx TencentCos.SecretKeyxxxxxx TencentCos.testBucketxxxxxx TencentCos.CosPathhttps://xxxxxxxx.cos.ap-chengdu.myqcloud.com TencentCos.regionap-chengdu读取properties中的配置 import lombok.AllArg…

Thingsbaord采用redis缓存(自用)

在CentOS系统上&#xff0c;您可以通过以下步骤使用yum安装Redis&#xff1a; 添加EPEL仓库&#xff1a; 首先&#xff0c;需要添加EPEL&#xff08;Extra Packages for Enterprise Linux&#xff09;仓库&#xff0c;因为Redis可能不在默认的CentOS仓库中。使用以下命令添加EP…

盘活存量GPU资源 破局高校算力不足窘境

“凭啥做大模型的优先分配算力&#xff1f;人家1个人4块A800&#xff0c;我们10个人用2块3090&#xff01;这日子没法过了&#xff01;”听着团队成员们的吐槽&#xff0c;某国内顶尖高校非大模型团队带队的博士老W也颇为无奈&#xff1a;“我们虽然不是做大模型的&#xff0c;…

在微信公众号上怎么实现拼团功能

拼团魅力&#xff1a;微信公众号上的拼团功能如何助力营销 一、引言 在这个数字化时代&#xff0c;微信公众号成为了企业与消费者互动的重要平台。而拼团功能作为微信营销的一大利器&#xff0c;为企业带来了巨大的商业价值。那么&#xff0c;如何在微信公众号上实现拼团功能&…

将WebGL打包的unity项目部署至Vue中

一、webgl打包 创建一个空项目&#xff08;或者直接使用现成的项目都可以&#xff09;这里以该空项目为例子 注意&#xff1a; 如果你的unity项目中有文字&#xff0c;不需要使用unity默认的字体&#xff0c;需要更改它的字体&#xff0c;否则在最后生成的页面中会显示不出来…

Modelsim仿真软件注册

仅供学生学习 解决问题&#xff1a; 注意&#xff1a;操作之前先关闭Modelsim软件 1&#xff09;下载modelsim_crack.zip&#xff0c;解压。 解压后的文件列表如下&#xff1a; 2&#xff09;进入Modelsim的软件安装目录&#xff08;我的电脑的安装目录是D:\modeltech64_10.…

有哪些好用的防蓝光护眼台灯?防蓝光护眼灯品牌排行揭晓

对于大多数人来说&#xff0c;护眼灯已经不是什么新鲜概念。为什么要买护眼灯&#xff1f;相信很多人的回答都是“为了孩子”。为了保护儿童视力健康&#xff0c;越来越多家长选择为孩子购买一台护眼灯&#xff0c;也造就了这个相当具有中国特色的庞大市场。很多家长不放心台灯…

2023 年度总结—总结我今年的AI之路-多项目实战经验谈AI发展前景

各位好&#xff0c;我是难忘&#xff0c;对人工智能方向有所研究&#xff0c;今年一年除了开发了几个软件项目之外的时间&#xff0c;基本都用到了学习研究AI上&#xff0c;最近几个月也是产出了几款AI领域的爆火文章&#xff0c;也把自己学习AI的笔记写了一个专栏&#xff0c;…

Kubernets(K8S)启动和运行01 快速入门

简介 Kubernetes is an open source orchestrator for deploying containerized applications. It was originally developed by Google, inspired by a decade of experience deploying scalable, reliable systems in containers via application-oriented APIs. Kubernete…

2024年了,Layui再战三年有问题不?

v2.9.3 2023-12-31 2023 收官。 form 优化 input 组件圆角时后缀存在方框的问题 #1467 bxjt123优化 select 搜索面板打开逻辑&#xff0c;以适配文字直接粘贴触发搜索的情况 #1498 Sight-wcgtable 修复非常规列设置 field 表头选项时&#xff0c;导出 excel 出现合计行错位的…

mysql定时备份shell脚本和还原

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言数据库备份分类mysqldump命令备份计划1.每日备份&#xff0c;保留30天备份文件2.每月1号备份&#xff0c;保留12个月备份文件 定时调度还原总结 前言 数据库备…

自适应批量生成二维码源码系统:电脑+手机端自适应 支持任何类型批量生成二维码 附带完整的搭建教程

在当今数字化的时代&#xff0c;二维码已经成为了我们日常生活和工作中的重要组成部分。无论是分享链接、添加好友&#xff0c;还是支付购物&#xff0c;二维码都以其便捷性受到了广泛的欢迎。下面&#xff0c;罗峰就来给大家分享一款自适应批量生成二维码源码系统&#xff0c;…

1.11寒假集训

A: 解题思路&#xff1a; 这题看示例不难发现&#xff0c;答案就是a * b的每一项的和&#xff0c;例如111 111就是111*&#xff08;1 1 1&#xff09; 333,知道后此题就迎刃而解了 下面是c代码&#xff1a; #include<iostream> using namespace std; int main() {in…

MFC 记录字段交换(RFX)学习

MFC ODBC 数据库类可自动移动数据源与记录集对象之间的数据。 从 CRecordset 派生类且不使用批量取行时,数据将通过记录字段交换 (RFX) 机制进行传输。 如果已在派生的 CRecordset 类中实现批量取行,则此框架将使用批量记录字段交换(批量 RFX)机制来传输数据。 RFX 类似于…

Farad capacitor法拉电容优点及缺点

Farad capacitor 法拉电容又称Electrical Double-Layer Capacitor双电层电容器、Gold capacitor黄金电容、Super capacitor 超级电容器&#xff0c;是一种化学元件。Super capacitor 超级电容器通过极化电解质来储能&#xff0c;但不发生化学反应&#xff0c;而且储能过程是可逆…

智邦国际ERP系统 SQL注入漏洞

产品介绍 智邦国际ERP系统是一款功能丰富、灵活可定制的企业管理软件&#xff0c;能够帮助企业实现资源优化、流程优化和业务增长&#xff0c;具有高度的灵活性和可定制性&#xff0c;可以根据不同企业的需求进行个性化配置和拓展。 漏洞描述 智邦国际ERP系统 GetPersonalSe…

CRM系统进行市场营销,这些功能可以派上用场。

现如今的企业想要做好营销&#xff0c;不仅仅依赖于一句玄之又玄的slogan亦或是电子邮件的狂轰乱炸。要想做好市场活动营销需要一个前提——那就是CRM管理系统发挥作用的地方。但CRM系统关于营销的功能太多了——对于不太了解的人来说很容易不知所措。那么&#xff0c;CRM系统做…

Ubuntu22.04,Nvidia4070配置llama2

大部分内容参考了这篇非常详细的博客&#xff0c;是我最近看到的为数不多的保姆级别的教学博客&#xff0c;建议大家去给博主点个赞【Ubuntu 20.04安装和深度学习环境搭建 4090显卡】_ubuntu20.04安装40系显卡驱动-CSDN博客 本篇主要是基于这篇博客结合自己配置的过程中一些注…

STM32——高级定时器输出比较模式实验

1高级定时器输出比较模式实验 1.1高级定时器输出比较模式实验原理 1.2高级定时器输出比较模式实验实验配置步骤 1&#xff0c;配置定时器基础工作参数 HAL_TIM_OC_Init() 2&#xff0c;定时器PWM输出MSP初始化 HAL_TIM_OC_MspInit() 配置NVIC、CLOCK、GPIO等 3&#xff0c;配…

计算机组成原理之计算机硬件发展和计算机系统的组成

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…