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

哈希表简单例子

一、题意

给定一个整数数组,判断数组中是否存在重复的元素。如果存在一值在数组中出现至少两次,函数返回 True ;如果数组中每个元素都不相同,则返回 False 。

输入: [1, 2, 3, 1]
输出: True

输入: [1, 2, 3, 4]
输出: False

解题思路:
我们可以使用哈希表(在 Python 里用字典实现)来解决这个问题。具体做法是遍历数组,对于每个元素,检查它是否已经存在于哈希表中:
若存在,说明该元素是重复的,直接返回 True。
若不存在,将该元素存入哈希表。
若遍历完整个数组都没发现重复元素,返回 False。

二、代码

1.代码的实现

nums=list(map(int,input().split()))
target=9
hash_table={}
for i,num in enumerate(nums):#enumerate是指元组中的索引加对象,i是索引(位置)num是对象
    c=target-num
    if c in hash_table:#指的是对象
        print(hash_table[c],i)#c在哈希表中的索引位置以及i(当前的元素)
    hash_table[num]=i

http://www.kler.cn/a/601119.html

相关文章:

  • Node.js 模块加载机制--详解
  • Javaweb后端登录会话技术jwt令牌
  • MySQL学习笔记(四)
  • git上传大文件到远程仓库中
  • RabbitMQ 学习整理2 - 消峰限流
  • 解锁 AWX+Ansible 自动化运维新体验:快速部署实战
  • 向量数据库学习笔记(1) —— 基础概念
  • apache安装脚本使用shell建立
  • C 语言中, scanf 函数在哪些情况下会结束输入读取:
  • 2025-03-25 学习记录--C/C++-PTA 习题11-7 奇数值结点链表
  • 修改git在提交代码时的名称
  • TARS:字节跳动开源的AI智能体,让生活更便捷、工作更高效
  • 蓝桥杯15届B组题解
  • Springboot 学习 之 Shardingsphere 按照日期水平分表(一)
  • 游戏引擎学习第182天
  • Linux之基本命令和格式
  • AVI格式:经典视频格式的坚守与挑战
  • Unity中对象池(Object Pool)技术解析与实现
  • 笔试面试01 c/c++
  • 蓝桥杯备考----> Apple Catching G(线性DP)