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

微投票网站网站排名提高

微投票网站,网站排名提高,wordpress 登陆 插件下载,网站制作公司排名前十哈希表 map set 数组 在C中,set 和 map 分别提供以下三种数据结构,其底层实现以及优劣如下表所示: 集合底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率std::set红黑树有序否否O(log n)O(log n)std::multiset红黑树有序是否…

哈希表

map set 数组

在C++中,set 和 map 分别提供以下三种数据结构,其底层实现以及优劣如下表所示:

集合底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率
std::set红黑树有序O(log n)O(log n)
std::multiset红黑树有序O(logn)O(logn)
std::unordered_set哈希表无序O(1)O(1)

std::unordered_set底层实现为哈希表,std::set 和std::multiset 的底层实现是红黑树

红黑树是一种平衡二叉搜索树,所以key值是有序的,但key不可以修改,改动key值会导致整棵树的错乱,所以只能删除和增加。

映射底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率
std::map红黑树key有序key不可重复key不可修改O(logn)O(logn)
std::multimap红黑树key有序key可重复key不可修改O(log n)O(log n)
std::unordered_map哈希表key无序key不可重复key不可修改O(1)O(1)

std::unordered_map 底层实现为哈希表,std::map 和std::multimap 的底层实现是红黑树

同理,std::map 和std::multimap 的key也是有序的

Set与Multiset-笔记-CSDN博客

有效的字母异位词

思路
在这里插入图片描述

定义一个数组叫做record用来上记录字符串s里字符出现的次数

242. 有效的字母异位词 - 力扣(LeetCode)

两个数组的交集

在这里插入图片描述

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {unordered_set<int>result_set;unordered_set<int>nums_set(nums1.begin(),nums1.end());for(auto n2:nums2){if(nums_set.find(n2)!=nums_set.end()){result_set.insert(n2);}}return vector<int>(result_set.begin(),result_set.end());}
};

两数之和

在遍历数组的时候,只需要向map去查询是否有和目前遍历元素匹配的数值,如果有,就找到的匹配对,如果没有,就把目前遍历的元素放进map中,因为map存放的就是我们访问过的元素

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {std::unordered_map <int,int> map;for(int i = 0; i < nums.size(); i++) {// 遍历当前元素,并在map中寻找是否有匹配的keyauto iter = map.find(target - nums[i]); if(iter != map.end()) {return {iter->second, i};}// 如果没找到匹配对,就把访问过的元素和下标加入到map中map.insert(pair<int, int>(nums[i], i)); }return {};}
};

1. 两数之和 - 力扣(LeetCode)

四数之和

  1. 遍历大A和大B数组,统计两个数组元素之和,和出现的次数,放到map中。
    1. 再遍历大C和大D数组,找到如果 0-(c+d) 在map中出现过的话,就用count把map中key对应的value也就是出现次数统计出来。

三数之和

双指针
依然还是在数组中找到 abc 使得a + b +c =0,我们这里相当于 a = nums[i],b = nums[left],c = nums[right]。

如果nums[i] + nums[left] + nums[right] > 0
说明 此时三数之和大了,因为数组是排序后了,所以right下标就应该向左移动,这样才能让三数之和小一些。

如果 nums[i] + nums[left] + nums[right] < 0
说明 此时 三数之和小了,left 就向右移动,才能让三数之和大一些,直到left与right相遇为止

http://www.dtcms.com/wzjs/301714.html

相关文章:

  • 网站建设服务增值税税率上海百度seo
  • 广州网站设计公司vi设计公司国际新闻最新消息美国
  • 开封+网站建设+网络推广重庆快速网络推广
  • 做网站页面西安关键词推广
  • 国外js建设网站百度学术论文查重免费检测
  • 什么网站会更有浏览量郑州网站建设制作
  • 深圳移动官网网站建设百度网站提交
  • 全球网站建设俄罗斯搜索引擎yandex官网入口
  • 推荐做那个的电影网站什么推广平台比较好
  • 网站充值支付宝收款怎么做优化教程网
  • 有哪些好用的设计网站有哪些内容网站seo排名优化软件
  • 手机h5模板win7优化工具哪个好用
  • 网络公司给我做网站我有没有源代码版权吗?济南今日头条新闻
  • 社保网站哪里做转入潍坊自动seo
  • wordpress 设置头像apiseo平台是什么意思
  • 网站建设栏目添加seo优化技术
  • 建设银行不招聘网站北京做网络优化的公司
  • 优酷视频放到网站上怎么做交换链接的方法
  • e时代网站制作seo是干什么的
  • 重庆最火的网站汕头seo公司
  • 广州外贸网站建设公司站长工具seo综合查询降级
  • 北京的网站建设收费标准阿里云搜索引擎
  • 一个专门做澳洲直邮的网站吗100%上热门文案
  • 做网站需要用什么软件seo怎样优化网站
  • 天津市住房和城乡建设管理委员会网站成品网站源码的优化技巧
  • 全屏网站模板行者seo
  • 怎么用java做动态网站电商营销策划方案范文
  • 吉林省建设局网站网站关键词有哪些
  • 怎么免费注册网站广州seo关键词优化外包
  • 六安手机网站建设百度认证