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

只出现一次的数字 II(二)

上文我们把经典算法题‘只出现一次的数字 II’的题目描述与大家分享,本文旨在分享解题思路。

解决方案

综述

该问题看起来很简单,使用 Set 或 HashMap 可以在O(N)的时间和O(N)的空间内解决。

真正的挑战在于 Google 面试官要求使用常数空间解决该问题(最近 6 个月该问题在 Google 上非常流行),测试应聘者是否熟练位操作。

方法一:HashSet

将输入数组存储到 HashSet,然后使用 HashSet 中数字和的三倍与数组之和比较。

Python 实现

class Solution:def singleNumber(self, nums):return (3 * sum(set(nums)) - sum(nums)) // 2

Java 实现

class Solution {public int singleNumber(int[] nums) {Set<Long> set = new HashSet<>();long sumSet = 0, sumArray = 0;for(int n : nums) {sumArray += n;set.add((long)n);}for(Long s : set) sumSet += s;return (int)((3 * sumSet - sumArray) / 2);}
}

http://www.dtcms.com/a/577305.html

相关文章:

  • Linux系统编程:(六)深入理解 Linux 软件包管理器——从原理到 yum 实战全攻略
  • NoSql数据库概念
  • OCR 新范式!DeepSeek 以「视觉压缩」替代传统字符识别;Bald Classification数据集助力高精度人像分类
  • jQuery 入门学习教程,从入门到精通,AJAX在jQuery中的应用 —— 详细知识点与实战案例(14)
  • seo优化标签北京seo百度推广
  • joomla 网站模板.net 手机网站源码下载
  • PL27A1旺玖5Gbps USB 3.0主机到主机桥接控制芯片,超高速USB3.0数据对拷线双机跨屏共享文件和数据的USB对拷芯片
  • 理解预处理器(Sass/Less)
  • Java_LinkedHashSet源码分析
  • 基于大数据的信贷风险评估的数据可视化分析与预测系统
  • 《算法通关指南:数据结构和算法篇 --- 栈相关算法题》--- 1.括号序列
  • 网站设计的基本流程是什么苏州高端模板建站
  • Web认证
  • 电子商务网站建设与推广实务江门市智企互联网站建设
  • Access自定义导出HTML报表
  • 【C++ 5 种类型转换深度对比与实践指南】
  • Kubernetes Service 详解:服务暴露与流量管理全指南
  • HTML onclick用法
  • 如何理解HTML语义化
  • 【JVM】Java为啥能跨平台?JDK/JRE/JVM的关系?
  • 数据存储新势力:Doris如何挑战ClickHouse的霸主地位?
  • Vmware中主机ip a没有ip地址
  • 在 VSCode 中:如何主动生成c_cpp_properties.json文件
  • 南京网站设计外包做图片视频的网站有哪些问题
  • 雄县哪里有建设网站的常州企业建站系统
  • Spring事件监听的核心机制是什么?
  • 制造企业的数据目录编写
  • 产品迭代快,如何避免战略失焦?
  • 监听某个端口是什么意思
  • ArkTS跨语言交互