首页 > 其他分享 >Day3 设计哈希集合

Day3 设计哈希集合

时间:2024-07-15 21:42:56浏览次数:18  
标签:return 哈希 int Day3 key 集合 hash MyHashSet data

class MyHashSet {     private:         vector<list<int>> data;         static const int base =769;         static int hash(int key){             return key%base;         } public:     MyHashSet(): data(base) {}         void add(int key) {         int h =hash(key);         for (auto it =data[h].begin(); it != data[h].end(); it++){             if ((*it)==key)   {                 return;             }         }         data[h].push_back(key);     }         void remove(int key) {         int h = hash(key);         for (auto it =data[h].begin(); it!=data[h].end();it++){             if ((*it)==key){                 data[h].erase(it);                 return;             }         }     }         bool contains(int key) {         int h = hash(key);         for (auto it =data[h].begin(); it !=data[h].end();it++){             if ((*it)==key){                 return true;             }         }         return false;     } };
/**  * Your MyHashSet object will be instantiated and called as such:  * MyHashSet* obj = new MyHashSet();  * obj->add(key);  * obj->remove(key);  * bool param_3 = obj->contains(key);  */

标签:return,哈希,int,Day3,key,集合,hash,MyHashSet,data
From: https://www.cnblogs.com/bihu3637/p/18304011

相关文章

  • python集合
    一、集合的定义集合可以存放多个元素。方式一:{a,b,c,d},缺点:不能定义空集合。方式二:set(),空集合;set(Iterable),将可迭代类型元素依次放入集合。遍历:forein{1,3,4,5}:将集合中的每一个元素依次赋予e。特性:不重复,可以用于去重;无序,不可以使用下标。#方式一不能定义空......
  • 哈希表原理
    哈希表(键值对)键(key):类似于数组的下标,可以为任意类型,但是不能重复值(val):类似于数组的元素,可以为任意类型哈希表不存在元素访问溢出的情况,只要访问未创建的元素,便会创建一个值为0的键值对哈希表的插入://方法一:【】法(中括号法)//方法二:insert()函数插入法#include<iostream......
  • Python学习—集合篇 详细讲解,简单易掌握
    一、集合的定义集合(set)是一种无序且不包含重复元素的数据结构,集合可以使用大括号 {} 来创建。创建集合的两种方式:第一种:使用{}括号s0={1,2,3,4,5}print(s0,type(s0))#结果:{1,2,3,4,5}<class'set'>第二种:用set()函数来创建集合s1=set([1,2,3,4,......
  • 数据结构的基础(集合框架算法,复杂度和泛型)
    一.什么是集合框架        Java集合框架JavaCollectionFramework,又被称为容器container,是定义在java.util包下的一组接口interfaces和其实现类classes。        其主要表现为将多个元素element置于一个单元中,用于对这些元素进行......
  • java List集合转Map并遍历输出
    1.使用流转map并且遍历packagecom.demo.toMap;importjava.util.ArrayList;importjava.util.List;importjava.util.Map;importjava.util.stream.Collectors;publicclassMianDemo{publicstaticvoidmain(String[]args){List<NodeList>list=......
  • 论文阅读:使用集合预测网络进行联合实体和关系提取
    github代码:http://github.com/DianboWork/SPN4RE目的从本质上讲,句子中提到的关系三元组是集合的形式,它没有元素之间的内在顺序,并表现出排列不变的特征。(多个三元组的抽取顺序,对抽取结果没有影响)然而,以前基于seq2seq的模型需要事先使用一些启发式全局规则将关系三元组的集合......
  • map集合
    packagecom.coding;importjava.util.*;publicclassTest{publicstaticvoidmain(String[]args){//Map<String,String>map=newHashMap<>();//map.put("bbb","bb");//map.put("aaa&quo......
  • 005_python3 元组 字典 集合 条件控制 循环语句 编程第一步
    Python3元组1.元组的元素不能修改,使用小括号,逗号隔开,也可不用小括号,不同类型元素tup1=()  #创建空元组tup2=('he',)   #元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用tup3=('abc','xyz',2,4,9)2.元组使用访问元组:tup3......
  • Day34.异常处理介绍
    1.异常处理介绍 '''1.什么是异常异常是程序发生错误的信号,程序一旦出错就会抛出异常,程序的运行随即终止1.1异常处理的三个特征异常的追踪信息异常的类型异常的内容''''''2.为何处理异常为了增强程序的健壮性,即便是程序运行过程中出错,也不要终......
  • Day33.元类下的属性查找
    1.元类下的属性查找_对象.方法和类名.方法的查找经过#todo属性查找的原则:对象->类->父类#todo切记:父类不是元类classMymeta(type):n=444def__call__(self,*args,**kwargs):#self=<class'__main__.StanfordTeacher'>obj=self.__new......