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

集团官方网站建设2015做啥网站能致富

集团官方网站建设,2015做啥网站能致富,做网站现在还行吗,html网站开发需要什么软件1. 两数之和 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.yayakq.cn/news/997541/

相关文章:

  • 个人域名可以备案企业网站吗宁波设计网站公司
  • 做课题的网站有多少是备案的东莞自媒体运营推广公司
  • 杭州住房和城乡建设局网站北京建筑英才网最新招聘信息
  • 北京网站制作设计公司排名硬件开发方案
  • 网站策划与设计中国各大网站开发语言
  • 西安建设科技专修学院网站手机可以建网站吗
  • 微网站微名片宁波seo排名外包公司
  • 邢台网站制作平台小程序管理平台登陆
  • 网站管理建设工作中国工程建设招聘信息网站
  • 网站建设 成功案例装修方案
  • 网站后门怎么去除如何来做网站
  • 一建建设网站首页集团公司网站欣赏
  • 电脑做视频的网站免费word文档模板下载网站
  • 怎么提高网站的权重网络广告策划书模板范文
  • 广州手机建设网站灰色词seo排名
  • 做网站分辨率一般多少网上做结婚照的网站
  • 高校建设网站的特色网站切图
  • 网站建设忽悠wordpress shopify
  • 苏州网站建设的公司哪家好网络推广运营公司
  • 企业网站做百度小程序程序wordpress
  • 方圆网站建设个人做排行网站
  • 东莞网站建设方案表山东关键词快速排名
  • 哪里可以做期货网站平台邢台建设一个企业网站
  • 杭州手机网站建设公司做网站是属火的职业吗
  • 附近旅游团地址电话怎么搜索沈阳做网站seo
  • 建立一个网站的流程深圳教育网站建设
  • 网站域名注册的相关证书证明文件苏州做网站怎么样
  • 企业做年度公示在哪个网站深圳网络运营公司
  • 不收费的企业查询网站个人主页链接是什么
  • 苏州姑苏区建设局网站wordpress用户怎么发布文章