Python算法例24 落单的数Ⅱ

1. 问题描述

给出3n+1个非负整数元素的数组,除其中一个数字之外,其他每个数字均出现三次,找到这个数字。

2. 问题示例

给出[1,1,2,3,3,3,2,2,4,1],返回4。

3. 代码实现

使用哈希表实现

def find_single_number(nums):
    counts = {}

    for num in nums:
        counts[num] = counts.get(num, 0) + 1

    for num, count in counts.items():
        if count == 1:
            return num


# 从输入获取数组
input_str = input("请输入数组,以逗号分隔:")
nums = list(map(int, input_str.split(',')))

# 调用函数并输出结果
result = find_single_number(nums)
print("只出现一次的数字是:", result)

这个算法使用了哈希表来记录数字出现的次数。它的基本思想是遍历整个数组,将每个数字作为键,其出现的次数作为对应的值存储在哈希表中。

具体步骤如下:

  1. 创建一个空的哈希表 counts。
  2. 遍历数组 nums 中的每个数字 num。
  3. 在哈希表 counts 中查找键为 num 的项。如果该项不存在,则将 num 作为键,值初始化为 0。
  4. 将键为 num 的项的值加 1,表示 num 在数组中出现的次数。
  5. 继续遍历数组 nums,直到处理完所有数字。
  6. 遍历哈希表 counts 的每个项,找到值为 1 的项,即只出现一次的数字。
  7. 返回只出现一次的数字。

这个算法的时间复杂度是 O(n),其中 n 是数组的长度。它需要遍历数组两次:一次用于统计数字出现的次数,一次用于找到只出现一次的数字。哈希表的插入和查找操作的时间复杂度是 O(1)。

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

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

相关文章

2023年都找不到工作,软件测试已经崩了?

最近后台很多粉丝给我留言: 2023年软件测试已经崩盘了吗,为什么都找不到工作了? 确实,今年经济大环境不好,企业也都在降本增效,如果技术能力还在被应届生竞争岗位的阶段,只会越来越难。 找不…

网站怎么才能做好SEO?网站SEO指引!!

在当今互联网的激烈竞争中,SEO(搜索引擎优化)已成为提升网站流量和吸引更多用户的关键手段。为了帮助您更好地掌握SEO网站优化技巧,本文将深入探讨以下几个方面: 一、关键词策略 关键词策略是SEO优化的基石。正确选择…

fba海派和传统海运的区别,亚马逊 FBA货物包装技巧—站斧浏览器

fba海派和传统海运的区别 1、美国FBA海派是什么? 美国FBA海派即将商品通过海洋运输的方式运送到美国亚马逊FBA仓库的服务。这种方式主要适用于大批量或大件商品,因为相比其他物流方式,海派具备成本低和运载量大的优势。 2、传统海运是什么…

Vue项目如何打包

1. 确保你已经在项目根目录下安装了Vue CLI。如果没有安装,可以通过以下命令进行安装: npm install -g vue/cli 2. 在项目根目录下打开终端或命令行工具,运行以下命令来创建一个生产环境的打包文件: npm run build 这个命令会执…

汽车服务品牌网站建设的作用是什么

汽车服务涵盖多个层面,在保修维护这一块更是精准到了车内车外,无论是品牌商还是市场中各维修部,都能给到车辆很好的维修养护服务。如今车辆的人均拥有量已经非常高,也因此市场中围绕汽车相关的从业者也比较多。 首先就是拓客引流…

C语言中二维数组的存储和二进制数在底层的排列顺序

1 二维数组变量的存储 二维数组在内存中是按照先行后列的顺序存储的,即先存储第一行的所有元素,再存储第二行的所有元素,以此类推。每个元素在内存中占据一定的字节数,这个字节数由该元素的类型决定。例如,int类型的元…

C语言学习NO.9-指针(一)内存和地址,指针变量,指针变类型的意义,const修饰指针,指针运算,野指针,assret断言,指针的使用和传址调用

指针是什么? 指针理解的2个要点: 1.指针是内存中一个最小单元的编号,也就是地址; 2.平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量。 总结:指针就是地址(变量的地…

LIMS实验室管理软件多少钱 智慧实验室管理系统价格

随着实验室管理需求的日益复杂,实验室信息管理系统(LIMS)逐渐成为实验室管理的必备工具。然而,对于许多实验室而言,选择合适的LIMS系统是一项挑战,其中价格是一个重要的考虑因素。本文将以白码LIMS系统为例,探讨LIMS实…

不忍学弟学妹受苦受难!!!逐一讲解发动机原理实验报告(2)

固体火箭发动机动态燃速测试实验 二、实验数据 1、药柱的具体结构(绘制)这个参考实验报告册即可,原图。 有时候我也纳闷,原图你还让学生抄什么抄呢? 2、实验采集到的P-t和F-t曲线图(我做的仅供参考&…

内部FLASH模拟EPPROM

本例程基于STM32F103ZET6 FLASH大小为512K。 介绍FLASH 不同型号的 STM32,其 FLASH 容量也有所不同,最小的只有 16K 字节,最大的则达到了 1024K 字节。我们的精英 STM32 开发板选择的是 STM32F103ZET6 的 FLASH 容量为 512K 字节&#xff0…

又老性能又差,为什么好多公司依然选择 RabbitMQ?

大家好,我是君哥。 RabbitMQ 这个消息队列相信很多程序员都用过,我第一次使用是在 2016 年,确实是一个老牌的消息队列了,但是为什么一直没有被淘汰呢?今天来聊一聊这个话题。 老旧差 发布历史 为什么说 RabbitMQ 老…

HTML---浮动

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.常见的网页布局 二.标准文档流 标准文档流常见标签 标准文档流的组成 块级元素<div…

青少年CTF-qsnctf-A1-Misc-签到

题目环境&#xff1a; 题目难度&#xff1a;★题目描述&#xff1a;有没有可能&#xff0c;这个平台就是个题目&#xff1f; 一道杂项题 题目说的是这个平台就是题目 那么也就是说flag就在这个平台里面1.从高层次向低层次逐一排查 2.首先对平台首页进行排查进平台首页 第一种解…

了解树和学习二叉树

1.树 1.1 概念 树是一种 非线性 的数据结构&#xff0c;它是由 n &#xff08; n>0 &#xff09;个有限结点组成一个具有层次关系的集合。 把它叫做树是因为它看 起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的 。 注意&#xff1a;树形结构中…

什么是数据资产化?数据怎样成为资产?怎样进入资产负债表?

财政部发布的《企业数据资源相关会计处理暂行规定》将从2024年1月1日起开始实施&#xff0c;为企业数据资源入表提供了基本指引&#xff0c;数据资产化有望迎来爆发期。什么是数据资产化&#xff0c;怎样让数据成为资产&#xff0c;成为了众多国有企业、上市公司关心的问题。 —…

「Vue3面试系列」Vue3.0性能提升主要是通过哪几方面体现的?

文章目录 一、编译阶段diff算法优化静态提升事件监听缓存SSR优化 二、源码体积三、响应式系统参考文献 一、编译阶段 回顾Vue2&#xff0c;我们知道每个组件实例都对应一个 watcher 实例&#xff0c;它会在组件渲染的过程中把用到的数据property记录为依赖&#xff0c;当依赖发…

C语言学习NO.10-指针(二)数组名的理解,使用指针访问数组,一维数组传参的本质,冒泡排序,二级指针,指针数组,指针数组模拟二维数组

一、数组名的理解 //使用指针访问数组的内容 int arr[10] {1,2,3,4,5,6,7,8,9,10}; int* p &arr[0]; 这里我们使用&arr[0]的方式拿到了数组第一个元素的地址&#xff0c;但是其实数组名本来就是地址&#xff0c;而且是数组首元素的地址。 #include <stdio.h>…

全国“兽医”专业大学生知识竞赛策划方案

一、初赛&#xff1a;参赛者通过网络平台进行答题。 各校大学生均可在“大赛官网”登录&#xff0c;填写真实姓名、学校、联系方式、身份证号、学号等信息&#xff0c;即可答题参赛。 系统将随机从题库中抽取50道题&#xff0c;满分100分&#xff0c;其中&#xff0c;单选题20…

Prometheus API 使用介绍|收藏

​ &#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试…

通过windows cng api 实现rsa非对称加密

参考&#xff1a; 1,使用 CNG 加密数据 - Win32 apps | Microsoft Learn 2,不记得了 &#xff08;下文通过cng api演示rsa加密&#xff0c;不做原理性介绍&#xff09; 相对于aes等对称加密算法&#xff0c;rsa加密算法不可逆性更强。非对称加密在通常情况下&#xff0c;使…