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

网站平台选择页面模板怎么放到自定义菜单

网站平台选择,页面模板怎么放到自定义菜单,做视频网站多少钱,cc域名的网站哈希表常用数据结构 查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。 哈希法也是空间换时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。 集合底层实现…

哈希表常用数据结构

查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。
哈希法也是空间换时间,因为我们要使用额外的数组set或者是map来存放数据,才能实现快速的查找。

集合底层实现key是否有序数值是否可以重复能否更改数值查询效率增删效率
std::set红黑树有序O(log n)O(log n)
std::multiset红黑树有序O(logn)O(logn)
std::unordered_set哈希表无序O(1)O(1)
映射底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率
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)
  1. 一般使用unordered_set、unordered_map
  2. 需要有序时使用set、map
  3. 需要有序、重复时使用multiset、multimap

242.有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

示例 1:
输入: s = “anagram”, t = “nagaram”
输出: true

示例 2:
输入: s = “rat”, t = “car”
输出: false

class Solution {
public:bool isAnagram(string s, string t) {int hashArr[26]={0};for(int i=0;i<s.size();i++){hashArr[s[i]-'a']++;}for(int i=0;i<t.size();i++){hashArr[t[i]-'a']--;}for(int i=0;i<26;i++){if(hashArr[i]!=0) return false;}return true;}
};

383. 赎金信

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。
如果可以,返回 true ;否则返回 false 。
magazine 中的每个字符只能在 ransomNote 中使用一次。

示例 1:
输入:ransomNote = “a”, magazine = “b”
输出:false

示例 2:
输入:ransomNote = “aa”, magazine = “ab”
输出:false

示例 3:
输入:ransomNote = “aa”, magazine = “aab”
输出:true

class Solution {
public:bool canConstruct(string ransomNote, string magazine) {int hashArr[26] = {0};// 将magazine中字符统计在哈希表中for(int i=0;i<magazine.size();i++){hashArr[magazine[i]-'a']++;}// for(int i=0;i<ransomNote.size();i++){hashArr[ransomNote[i]-'a']--;}// 如果hash表出现负数,说明magazine中字符不够ransomNote消耗for(int i=0;i<26;i++){if(hashArr[i]<0) return false;}return true;}
};

349. 两个数组的交集

示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]

示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解释:[4,9] 也是可通过的

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {unordered_set<int> res;// 将nums1存入哈希表unordered_set<int> hashSet(nums1.begin(),nums1.end());// 遍历nums2,在哈希表中查找nums2的元素for(int num:nums2){if(hashSet.find(num)!=hashSet.end()){res.insert(num);}}return vector<int>(res.begin(),res.end());}
};

1. 两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。

示例 1:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

示例 2:
输入:nums = [3,2,4], target = 6
输出:[1,2]

示例 3:
输入:nums = [3,3], target = 6
输出:[0,1]

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> map;for(int i=0;i<nums.size();i++){auto iter = map.find(target-nums[i]);// 找到一对直接返回if(iter != map.end()){return {iter->second,i};}// 插入到map中map.insert(pair<int,int>(nums[i],i));}return {};}
};
http://www.yayakq.cn/news/471275/

相关文章:

  • 做网站推广农家乐网站免费模板
  • 深圳网站制作哪家好wordpress怎么qq登录地址
  • 农村建设自己的网站济南网站制作公司哪家技术好
  • 网站作品集网站怎么做营销
  • 国外有什么做网站的软件吗做网站哪些软件比较好
  • 网站配色方案橙色湛江seo排名
  • 创建网站外国优秀网站设计
  • 专门做字体设计的网站asp简单的网站怎么做
  • 高端网站建设价钱如何设置网站
  • 天津网站制作哪个好工业和信息化部发短信什么意思
  • 网站建设前期准备工作总结佛山淘宝设计网站设计价格
  • aspx网站开发教程wap网站建设课程要写代码吗
  • 可以在线做动图的网站动画设计和动漫设计
  • 网站开发软件有网络营销到底是个啥
  • 在线做c 题的网站外国网站 游戏设定图
  • 品牌型网站的特点洛阳东翔科技做的网站
  • FLASK做wiki网站企业概况简介
  • 莱芜网站设计wordpress functions.php 修改
  • 英文网站建站公司wordpress 被墙
  • 网站基础建设和管理暂行办法免费秒开小游戏
  • 一个公司建n网站网站设计与开发未来发展方向
  • 网站建设要达到什么水平银川建立网站
  • 用什么软件写网站沧州推广建站
  • 石家庄网站定制模板建站网站做好怎么推广
  • 软件网站建设公司万州区最新消息
  • 营销型网站设计工资电子信息工程系部网站建设方案
  • icp备案网站更名凡科网做网站怎么样
  • 搜索引擎 网站推广工商注册咨询电话多少
  • 商城类网站建设数据库免费scrm
  • 深圳做网站优化报价网站建设费用说明