LeetCode Single Number III (Java和Python代码)

黑马程序员Pink的javaScript课程APIday4 本文摘要:介绍了JavaScript中日期对象的实例化方法(有参/无参)及三种获取时间戳的方式。讲解了DOM节点操作,包括节点查找(父、子、兄弟节点)、增加/克隆/删除节点的方法。详细说明了移动端touch事件和Swiper插件的使用,包括自动播放和小圆点配置。最后提及学成在线案例中表单验证和取消默认跳转的实现。 阅读详情

题目

Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.

For example:

Given nums = [1, 2, 1, 3, 2, 5], return [3, 5].

Note:
The order of the result is not important. So in the above example, [5, 3] is also correct.
Your algorithm should run in linear runtime complexity. Could you implement it using only constant space complexity?

分析:

给定一个数组,数组中有两种元素一种是在数组中出现一次,一种是在数组中出现两次。写一个函数,找出给定数组中所有只出现一次的元素,并将这些元素放到一个数组中返回。

我们采用Java中HashMap结构,每次遇到新元素就向哈希表添加Key,并设定对应的值为1,如果该元素再次出现,设定值自增。

而后遍历哈希表中所有的key和对应的value,如果value是1,则在返回的数组中添加对应的key。

代码:

public class Solution {
    public int[] singleNumber(int[] nums) {
        ArrayList<Integer> list = new ArrayList<>();
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        for(int i = 0;i < nums.length;i++)
        {
            if(map.containsKey(nums[i]))
                map.put(nums[i], map.get(nums[i])+1);
            else
                map.put(nums[i], 1);
        }
        for(Entry<Integer, Integer> entry:map.entrySet())
        {
            if(entry.getValue() == 1)
                list.add(entry.getKey());
        }
        int []res = new int[list.size()];
        for(int i = 0 ;i < list.size();i++)
        {
            res[i] = list.get(i);
        }
        return res;

    }
}

以上是Java版本的代码,同时提供Python版本的代码,由于Python间洁的特性和自带数据类型中包含了字典,相对来说Python版本的代码比较间洁。
以下是Python版代码:

def singleNumber(nums):
    """
    :type nums: List[int]
    :rtype: List[int]
    """
    tmpdict = {}
    res = []
    for i in nums:
        if i in tmpdict:
            tmpdict[i] += 1;
        else:
            tmpdict[i] = 1
    for key, val in tmpdict:
        if val is 1:
            res.append(key)
    return res
ARFoundation系列讲解 - 手部跟踪编程 通过使用ARFoundation的手部跟踪子系统,我们可以轻松地在AR应用程序中实现与用户手部的交互。通过设置AR环境、创建场景和相机、添加手部跟踪功能以及编写相应的脚本,我们可以开始在AR场景中跟踪和操作用户的手部。在Unity中创建一个新场景,并将AR Session组件添加到场景中的一个空对象上。手部跟踪的具体实现可能因AR设备和平台的不同而有所差异,你可能需要根据你的使用情况进行一些适配和调整。当你将手部放入AR场景中时,手部跟踪系统将触发相应的事件,并调用脚本中的回调函数。 阅读详情

相关推荐

(超详细)Scala环境搭建(scala-2.12.15、IDEA2021.1.3)

Scala环境搭建(scala-2.12.15、IDEA2021.1.3) JunLeon——go big or go home 目录 Scala环境搭建(scala-2.12.15、IDEA2021.1.3) 一、Scala概述 1、什么是Scala? 2、Scala发展史 3、Scala与Java的关系 二、Scala环境搭建 1、环境准备 2、Scala安装与配置环境变量 3、验证Scala 三、编写第一个Scala程序 1、使用IDEA创建maven工程 2、.

JunLeon的博客 3万+

[leetcode] 260. Single Number III

260. Single Number III Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.For

CodePikachu的博客 432

Ubuntu 20.04 系统备份和还原

最近大家Ubuntu开发环境,经常出现搭着搭着系统就挂了,于是开始琢磨了Ubuntu系统的备份和还原,以备不时之需,Linux环境搭建实在是有点太细,好多情况下,就算曾经搭建过一遍,再次搭建有些包还是忘了安装,做好备份是十分必要的。 经过了一番研究,Ubuntu备份有很多方式:根目录tar、dd、Systemback(1.0版本已经不维护了,2.0版本收费)等等,最终决定使用 —— Timesift, 因为方便一些。 文章参考:小马虎的救星——Timeshift Timeshift Timeshift,是L

Z_Paper的博客 2万+

第十八周leetcode题

Description: Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once. For

master_banana的博客 330

抄表程序员的DLMS/COSEM协议实战:从抓包到解析,手把手教你读懂IEC62056报文

本文深入解析DLMS/COSEM协议在智能电表通信中的应用,从报文捕获到数据解析的全流程实战指南。涵盖HDLC帧解析、应用层连接建立、数据请求/响应解码等核心内容,并提供Wireshark配置、OBIS代码速查表等实用工具,帮助开发者快速掌握IEC62056标准下的电能表通信技术。

weixin_29178069的博客 299

Mendix 开发实践指南|Mendix平台概览

低代码开发是一种将编码从文本形式转变为视觉形式的应用开发方法。它提供了一个模型驱动的、拖放式的界面,而不是传统的编码环境,使得各种技能水平的开发者——包括专业开发人员、新手、主题专家、业务利益相关者和决策者——都能使用低代码工具来构建驱动价值的企业业务应用。低代码的核心在于提高开发的可访问性和效率,让更多人能够参与到应用开发中来​​。Mendix适用于多种应用场景,包括企业级应用、移动应用、物联网(IoT)应用和微服务架构等。

多年搬砖的经验分享... 4413

【LeetCode】260. Single Number III(C++)

Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.For example:Given nums = [1,...

biongbiongdou的博客 318

ubuntu下编译qtwebengine

ubuntu qtwebengine

tianyu的专栏 - Linux site:blog.youkuaiyun.com/wishfly 1463

《leetCode》:Single Number III

题目Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.For example:Given nums = [1

wojiushimogui的博客 626

SFT看这一篇就够了!万字长文:监督微调(Supervised Fine-Tuning, SFT)技术全解析【从理论到实战】

大家好,我是大 F,深耕AI算法十余年,互联网大厂技术岗。分享AI算法干货、技术心得。欢迎关注,一起探索技术的无限可能!

大F子的智能小课 712

相机Camera日志分析之二十六:高通相机Camx 基于预览1帧的process_capture_request重要完整日志【见注释】

文章摘要:该日志记录了一个相机预览请求的处理流程。系统从HAL层开始处理capture_request,填充预览/拍照的buffer数据,并激活相关pipeline。流程涉及多个模块(ChiNodeWrapper、IFE、IPE等)的协同工作,包括获取ImageBuffer、设置请求映射关系、处理特征美颜参数(开关状态0,级别1)等关键步骤。日志详细展示了从请求下发到各节点处理的完整链路,包含多次buffer获取、fence设置及数据传递过程,最终完成预览帧数据的处理和保存(第0帧和第1帧)。该流程体现了移

517

LeetCode OJ 之 Single Number III (唯一的数字-三)

题目: Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once. For example:

灯火阑珊处 642

〔重庆理工大学〕计算机组成原理课设报告--16位单周期CPU设计

本课程设计的实验平台为Altera Quartus II 软件和Altera Cyclone V Starter 工具箱。(1)Cyclone V是Altera FPGAs家族的一类,它面向低功耗应用。Cyclone V GX 5CGXFC5C6F27C7N 芯片有不同的转换器,按钮,LED灯,七段显示器,HDMI接口,SD卡读卡器以及其他链接等。Cyclone V GX 5CGXFC5C6F27C7N是Starter工具箱的重要组件。(2)测试台包含在测设备(DUT)和用于仿真的模拟输入。

Pretty Boy Fox的博客 1066

leetcode 260.Single Number III

在leetcode的第260题 Single Number III 中有位大神的解题方法。

程序猿成长日志 412

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

leetcode【260】Single Number III

写在最前面: 当然可以通过遍历查找,但是时间复杂度太高,leetcode肯定通不过。 然后我们要研究异或。   leetcode【260】Single Number III Given an array of numbers nums, in which exactly two elements appear only once and all the other elements a...

ssjdoudou的博客 2万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

leetcode 260. Single Number III-寻找单身狗|位运算

原题链接:260. Single Number III 【思路-Java、Python】 相信做这题的读者已经做过 136. Single Number 了,Single Number 的思想就是通过异或(同0异1的性质)运算找出唯一的一个数。那么本题,假设数组中两个不相同的数是 a 和 b,且 a ^ b = aXorb。首先对数组通过异或运算,得到的结果就是 aXorb,由于 a 与

hdtopku 672

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LeetCode 题解(189): Single Number III

题目: Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once. For example: Given

951

一文吃透只出现一次的数字Ⅱ!LeetCode 260「只出现一次的数字 III」两大解法多语言题解

LeetCode 260《只出现一次的数字 III》(Single Number III)是位运算、分组与哈希的综合题。给定一个整数数组,只有两个元素只出现一次,其他都出现两次,要求找出这两个唯一的数。常考异或、分组和哈希表。本题是位运算分组、哈希表统计与集合划分的经典例题,掌握分组异或技巧后,可解决更多“只出现一次”/“只出现k次”的变种题,是刷题和面试不可或缺的基础能力。

10年数据\经营分析经验,现任大厂数据分析负责人 422

[LeetCode] 260. Single Number III 单独数 III

Given an array of numbersnums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once. Example: Input: [1,2,1,3...

weixin_30483013的博客 108

Python每日一练(20230515) 只出现一次的数字 I\II\III

1. 只出现一次的数字 Single Number   2. 只出现一次的数字 II Single Number II   3. 只出现一次的数字 III Single Number III

汉阳Hann's Home 1355

[LeetCode] 136. Single Number 单独数

Given anon-emptyarray of integers, every element appearstwiceexcept for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you implement it without us...

weixin_30411997的博客 93

[LeetCode] 137. Single Number II 单独数 II

Given anon-emptyarray of integers, every element appearsthreetimes except for one, which appears exactly once. Find that single one. Note: Your algorithm should have a linear runtime complexity....

weixin_30520015的博客 81

如何快速跑通 RuoYi-Vue-Plus:企业级多租户后台的完整 Spring Boot 开发指南

如果你需要一套能直接支撑多公司业务、拿来就用的后台管理系统,RuoYi-Vue-Plus 是个值得放进选型清单的企业级平台。它基于 Spring Boot 构建,用 Sa-Token 管登录鉴权,用 Mybatis-Plus 管数据访问,并且原生支持多租户——也就是说,同一套服务可以同时服务多家客户,而彼此的数据互不可见。下面不讲空泛的功能罗列,而是按"为什么选它 → 它能干什么 → 怎么跑起来

gitblog_00517的博客 464

algorithm-base 图解算法:LeetCode 260 只出现一次的数字 III —— HashSet 成对消去与位运算分组异或全解

本文是 algorithm-base 仓库"求次数问题"系列的第三篇,围绕 LeetCode 260「只出现一次的数字 III」讲解如何在"恰好有两个元素只出现一次、其余元素均出现两次"的数组中找出这两个目标元素。读完本文,你将掌握两种可运行、可迁移的解法:借助 HashSet 的"成对消去"思路(时间 O(n)、空间 O(n)),以及面试中高频考察的位运算"分组异或"方案(时间 O(n)、空间

gitblog_00180的博客 381

别下载几个GB!global-law按需加载211个国家法律的countries.py完全指南

面对 global-law 这个把 211 个国家法律写进 git 历史的开源仓库,很多人第一反应是全量克隆——但整棵仓库有好几个 GB。好消息是:只要用仓库自带的 [tools/countries.py](https://link.gitcode.com/i/20583f5d62ab638771292b14674decf4) 按需加载,几百 MB 就能开始查询任意国家、任意日期的法律。本文讲清

gitblog_00120的博客 81

LeetCode 137 只出现一次的数字 II:位计数、数字电路状态机与多语言实现全解析

本文围绕 LeetCode 137「只出现一次的数字 II」展开:在整数数组中,除某个元素恰好出现一次外,其余每个元素都恰好出现三次,要求在**线性时间复杂度、常数级额外空间**下找出那个只出现一次的元素。全文以 [solution/0100-0199/0137.Single Number II/README.md](https://link.gitcode.com/i/40b25d77f2f09

gitblog_01161的博客 430
上一篇: 巧用 C语言 断言机制助力程序debug
下一篇: LeetCode ZigZag Conversion
lxydo
博客等级 码龄12年 98粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值