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

张家港做网站的磁力兔子

张家港做网站的,磁力兔子,wordpress自动发布文章,怎么做网站从0做到权重71. 两数之和 1.1 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。…

1. 两数之和

1.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]

1.2 思路

遍历数组中的每个元素,如果数组中有加起来没有target的值,则说明当前没有可以存入的值,则将该值和其下标存入哈希表中;如果有加起来等于target的值,则找到答案输出
这里是边遍历边存,每次找的是当前遍历的下标前面的那些数字,所以不会存在重复的情况

1.3 代码

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int, int> heap;vector<int> res;for(int i = 0; i < nums.size(); i++){int x = nums[i];int y = target - x;//count函数用以统计key值在unordered_map中出现的次数if(heap.count(y) == 0) heap[x] = i;else{res.push_back(heap[y]);res.push_back(i);}}return res;}
};

2. 字母异位词分组

2.1 题目

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

示例 1:

输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]
输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]
示例 2:

输入: strs = [“”]
输出: [[“”]]
示例 3:

输入: strs = [“a”]
输出: [[“a”]]

2.2 思路

建立一个哈希表,key是每个字符串按照顺序排序后的key,value是原字符串
遍历该字符串,把字符串的value存到res中,然后输出

2.3 代码


class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {unordered_map<string, vector<string>> heap;vector<vector<string>> res;for(int i = 0; i < strs.size(); i++){string temp = strs[i];sort(temp.begin(), temp.end());heap[temp].push_back(strs[i]);}for(auto it = heap.begin(); it != heap.end(); it++){res.push_back(it -> second);}return res;}
};

3. 最长连续序列

3.1 题目

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。

请你设计并实现时间复杂度为 O(n) 的算法解决此问题。

示例 1:

输入:nums = [100,4,200,1,3,2]
输出:4
解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。
示例 2:

输入:nums = [0,3,7,2,5,8,4,6,0,1]
输出:9

3.2 思路

  1. 首先用一个unordered_set装这些数字,去重
  2. 遍历集合里的每个数字,如果当前数字减1有值的话,就跳过(因为在别的地方已经计数过);如果没有的话,当前数字就是这个序列的第一个,开始从这个数字计数
  3. 用一个while从当前数字计数,记录连续的值

3.3 代码

class Solution {
public:int longestConsecutive(vector<int>& nums) {unordered_set<int> num;int curr_res, curr_num;int res = 0;for(int i = 0; i < nums.size(); i++){num.insert(nums[i]);}for(auto t : num){if(num.find(t - 1) != num.end()) continue;curr_res = 1;curr_num = t + 1;//如果存在,则累加//集合的查找语句://num.find(curr_num) != num.end()while(num.find(curr_num) != num.end()){curr_num++;curr_res++;}res = max(res, curr_res);}return res;}
};

4. 总结

  • 哈希表的几种类型 unordered_map, unordered_set
  • 遍历的方式:
    • unordered_map: for(auto it = heap.begin(); it != heap.end(); it++)
    • unordered_set: for(auto t: heap)
  • find函数的用法:num.find(curr_num) != num.end()
http://www.ds6.com.cn/news/60894.html

相关文章:

  • 北京天海网站建设公司太原网站推广公司
  • 坪山网站建设效果整站seo服务
  • 去哪个网站可以做写手机构类网站有哪些
  • 营销型网站建设合同模板江苏搜索引擎优化
  • 在线网站制作模拟百度风云排行榜
  • 电脑做兼职找那个网站百度搜索引擎优化的养成良好心态
  • 甘孜建设机械网站湖南网站建设加盟代理
  • WordPress整合whmcsseo推广软件下载
  • 奢侈品 网站建设方案南京seo排名优化公司
  • wordpress 编辑代码郑州seo顾问阿亮
  • 有那个网站做简历模板千锋教育学费多少
  • 软件开发的生命周期北京快速优化排名
  • 论坛模板网站建设百度seo排名优化公司推荐
  • 沈阳市建设工程质量检测中心网站抖音指数查询
  • 网站建设实物实训目的网页设计主题推荐
  • jsp动态网站开发实践教程电子档重庆seo网站排名
  • 域名解析站长工具seo最强
  • 许嵩做的网站广告公司主要做什么
  • wordpress怎么上传视频教程seo行业网
  • 惠州网站建设制作seo技术是干什么的
  • 江门外贸网站推广方案百度站点
  • 做网上夫妻去哪个网站今天重大新闻国内最新消息
  • 自适应网站的图做多大 怎么切app开发公司排名
  • 前端开发简历承德seo
  • 做网站月入过万十大嵌入式培训机构
  • tech域名可以做网站吗内江seo
  • 图片轮播wordpress百度seo关键词排名优化软件
  • 香河做网站seo全网优化指南
  • 网站开发 c软文推广怎么做
  • 塘沽网站建设线上宣传方式