当前位置: 首页 > news >正文

【leetcode】136. 只出现一次的数字

只出现一次的数字

    • 题目
    • 题解
      • 1. 字典
      • 2. 异或

题目

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

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

示例 1 :

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

输出:1

示例 2 :

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

输出:4

示例 3 :

输入:nums = [1]

输出:1

题解

1. 字典

思路:统计出现数字的频次,对出现1次的进行返回

class Solution:def singleNumber(self, nums: List[int]) -> int:dict = {}for num in nums:if num not in dict:dict[num] = 1else:dict[num] += 1for num, count in dict.items():if count == 1:return num

2. 异或

思路:相同数组异或为0,不同为1

class Solution:def singleNumber(self, nums: List[int]) -> int:# 异或x = 0for num in nums:x = x ^ numreturn x

相关文章:

  • 实现自动化管理、智能控制、运行服务的智慧能源开源了。
  • Oauth认证过程中可能会出现什么问题和漏洞?
  • ubuntu22.04有线网络无法连接,图标也没了
  • OPenCV CUDA模块光流处理------利用Nvidia GPU的硬件加速能力来计算光流类cv::cuda::NvidiaHWOpticalFlow
  • 第22节 Node.js JXcore 打包
  • 技能伤害继承英雄属性【War3地图编辑器】进阶
  • TCP/IP 网络编程 | 服务端 客户端的封装
  • OPENCV形态学基础之二腐蚀
  • Vue 3 实战:【加强版】公司通知推送(WebSocket + token 校验 + 心跳机制)
  • docker nginx解决跨域请求的处理(https的也支持)
  • 今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
  • 商品中心—1.B端建品和C端缓存的技术文档二
  • 商品中心—1.B端建品和C端缓存的技术文档一
  • ThinkPHP8中使用QueryList---QueryList 简洁、优雅、可扩展的PHP采集工具(爬虫)
  • Spring Bean的初始化过程是怎么样的?​​
  • Vue 实例的数据对象详解
  • 阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
  • Django、Flask、FastAPI与Jupyter对比
  • leetcode73-矩阵置零
  • 如何进行Shopify主题的自定义
  • 渭南做网站价格/想要网站导航推广页
  • 网站里的搜索怎么做/百度认证怎么认证
  • 网站联盟是什么/百度竞价账户
  • 放图片网站/百度云群组
  • wordpress 文章类/优化师是做什么的
  • 浙江省建设投资集团有限公司网站/江门关键词优化公司