首页 > 其他分享 >【11月LeetCode组队打卡】Task1--HashTable

【11月LeetCode组队打卡】Task1--HashTable

时间:2023-11-16 19:11:06浏览次数:37  
标签:11 Task1 set hash nums int vector 打卡 include

在准备CSP,借这次组队打卡的机会好好复习一下cpp的各种基操(微操,和基础的数据结构

217.存在重复元素

vector

向量的用法有点忘了,先简单回顾一下

(其实是好久没写cpp了(安详.jpg

输入与输出

    //未知数组元素个数
    vector<int> hash;
    int x;

    while(cin>>x){
        hash.push_back(x);
        //遇到回车就停止输入
        if(cin.get()=='\n')
            break;
    }

    for(int num:hash)
        cout<<num<<' ';
    /*
    for(int i=0;i<hash.size();i++)
        cout<<hash[i]<<' ';
    */

插入

    //在下标为2的前面插入666(首下标为0
    hash.insert(hash.begin()+2,666);

删除

    //左闭右开
    hash.erase(hash.begin()+1,hash.begin()+2);

unordered_set

set.find(x)

如果在set中找到x,则返回x的角标(迭代器);

否则返回set末尾迭代器set.end( );

//在s中寻找x
if(s.find(x)!=s.end())
            return true;

AC1--排序:判断相邻元素是否相等

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

bool duplicates(vector<int> &nums){
    sort(nums.begin(),nums.end());
    for(int i=0;i<nums.size()-1;i++){
        if(nums[i]==nums[i+1])
            return true;
    }
    return false;
}

void getArray(vector<int> &array){
    int x;
    while(cin>>x){
        array.push_back(x);
        if(cin.get()=='\n')
            break;
    }
    return;
}

int main()
{
    vector<int>  nums;
    getArray(nums);

    if(duplicates(nums))
        cout<<"Contain Duplicates";
    else    
        cout<<"No Duplicates";
    return 0;
}



AC2--哈希表

两个集合,一个装元素(nums),一个用于查找(s)

nums中挨个元素匹配s:配上=>重复;没配上=>插入s中

//只修改判断功能函数和头文件,其余同AC1
#include<unodered_set>

bool duplicates(vector<int> &nums){
    unordered_set<int> s;
    for(int x:nums){
        if(s.find(x)!=s.end())
            return true;
        s.insert(x);
    }
    return false;
}

标签:11,Task1,set,hash,nums,int,vector,打卡,include
From: https://www.cnblogs.com/Weenz-y/p/17837055.html

相关文章

  • 11.16每日总结
    今天准备好明天的测试了,但是由于上周的作业太复杂了,于是又推迟了一周,但是今天上课我们进行了讨论。目前的状况是我们的原型已经搭建起来了要做的就是要把相应流程图和用例图搞明白流程还是不太熟悉,因为中间涉及到很多环节。 ......
  • 2023/11/16
    考试成绩,不好评价。从今天起,1)已经摒弃之前节约消费习惯,现在每次消费已经大于等于13元2)从今天起,摒弃良好用餐习惯,面包\奥利奥\维他奶在我心中已经取代传统饮食。(冬天是万物长胖的季节)。......
  • T113开发板单独编译uboot和内核和fastboot单独更新镜像
    T113开发板单独编译uboot和内核和fastboot单独更新镜像T113单独编译uboot和内核和fastboot单独更新镜像1、u-boot单独编译目录:t113-s3_linux-sdk-v1.1/brandy/brandy-2.0/u-boot-2018编译命令:makesun8iw20p1_auto_defconfig&&make-j16&&tools/dragonsecboot-packtools/boot_p......
  • 基于pybind11实现C++程序中调用Python脚本增加C++程序扩展性
     文章目录前言一、pybind11与Python环境配置二、C++环境配置三、C++调用Python交互代码四、C++调用PythonDemo完整源码 前言Windows平台,在实际C++项目开发中,结合pybind11库,让python成为C++的脚本语言,可以大大提高C++程序的可扩展性,大大提高开发效率,特别......
  • C++通过pybind11调用Python 实现transpose
    在某些场合需要在C++实现类似numpy的numpy.transpose(a,axes)功能,但是很多库如NumCpp都没有提供这样的方法,只有二维矩阵的转置,没法进行多维矩阵任意维度的转换。比较简单的想法就是利用numpy现有的功能,在c++代码里面通过调用python来调用Numpy的transpose。直接调用Python提......
  • 赛前集训11天题解大总
    Day1kitty核心思路:将转移过程中的方案加入转移矩阵,边转移边累加stringdp设计:\(f[i][x][y]\)表示长度为\(i\),第一段以\(x\)结尾,且\(x\leqslantp\),第二段以\(p\)开头,以\(y\)结尾的两段完全相同的序列的对数。对于每个\(p\)答案就是\(\sum_{i=1}^{n}i\cdotf[i][x......
  • 20231116
    今天是个大晴天,18摄氏度,不知道为什么一堆人穿冬季校服。看来还是说明体锻太少了,大家都虚了。哦,上文和下文没有关系。下文是昨天总结出来的,也是也不是,是上高中后总结出来的。形式主义其实是一群傻逼满脑子都是他们认为的理想化,我觉得这种人脑子相当于是被格式化了。也是,生活中接......
  • 2023.11.16
    A给出两个点\(A\),\(B\)和\(n\)个圆,此外还有一个未知的圆\(O\)过\(A,B\)且不与任意圆相交。问\(O\)的最小可能半径。\(1\len\le10^5\),点和半径值域\([-10^5,10^5]\)。答案不超过\(10^{12}\),要求相对或绝对误差\(\le10^{-3}\)。二分一眼假但是放了\(80\)分。......
  • 11 16 更新用户密码
     @PatchMapping注解是因为接口文档的请求方式是patch,参数声明了map集合对象,@RequestBody是把json数据转化为map对象controller层:service层:  mapper层: 新增文章分类:下面分别是controller,service,mapper: 接口文档要求两个参数均非空,所以对实体参数进行校验:......
  • 2023.11.16日报
    今日猛肝,把大数据的实验做完了八个八个!!!无需多言附图为证 然后就是做完这个就要开始看ERP了今天先这样了学习时间已经不记得几个小时了反正不少于三小时......