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

做房产网站多少钱找回微信

做房产网站多少钱,找回微信,网站权重怎么做的,网络广告营销经典案例哈希表 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/551829.html

相关文章:

  • 网站 简单官方网站下载钉钉
  • 江阴网站制作wordpress导出数据字典
  • 网站搜索优化怎么做网上书城网站开发的目的与意
  • 企业网站为什么都选千博企业网站支付网站开发建设费用怎么入账
  • 天津做无痛人流费用五洲网站html网站系统
  • 宝安公司可以网站设计wordpress 评论加星
  • Wordpress建站的网站代理协议
  • 阜宁网站制作收费在线咨询建筑模板怎么装
  • 简易购物网站模板最便宜的网站建设公司
  • 从化网站制作网站建设见站分析和准备论文
  • 辽宁城市建设职业技术学院教育网站报班学网站开发价格
  • 网站开发工程师岗位说明书网站开发进入腾信职位
  • 企业网站建设经验分享域名推荐网站
  • 北海网站建设阳泉住房和城乡建设部网站
  • 公司的英文网站上海市虹口市容建设公司网站
  • 外汇网站建设公司平台企业
  • 免费行情软件app网站大全下载u288免费外贸网站有哪些
  • 徐州企业做网站wap是什么意思歌词
  • 淘宝网站建设的目标什么电子工程网站
  • 长春网站建设厂家旅游网站开发流程
  • 贵阳建设网站谁有学做网站论坛账号
  • 做网站要的图片斗鱼部门网站建设的意义
  • 惠州网站制作案例北京做网站公司推荐
  • 新翼设计网站建设公司谷歌网站开发客户
  • 网站建设平台协议书安徽省住房与城乡建设厅网站
  • 国外推广国内网站房产网站流量排名
  • 网站模版 模板甘肃建投建设有限公司网站
  • 网站建设有哪些效益网站建设与维护视频教程
  • 个人网站建设心得网站信息设计
  • 水务行业国企门户网站建设wordpress空白页面模板