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

上海先进网站设计关键词优化的策略

上海先进网站设计,关键词优化的策略,网站开发读什么专业,大厂县城乡建设局网站leetcode 二数之和 三数之和 四数之和 又到了不想写博客的环节,不想归不想,有些事情还是要做的,今天总结的是多数之和的问题。 二数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target …

leetcode 二数之和 三数之和 四数之和
又到了不想写博客的环节,不想归不想,有些事情还是要做的,今天总结的是多数之和的问题。

二数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。
思考:对于这道题其实很简单,不过要想到利用哈希法来做可能有点难度,一来对哈希结构相关的语法不熟悉,而来贪图方便,就用两个for循环解决了,这里需要注意的是两个for循环的起始位置,需要遍历到所有的可能性。
法一:

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {for(int i=0;i<nums.size()-1;i++){for(int j=i+1;j<nums.size();j++){if(nums[i]+nums[j]==target){return {i,j};}}}return {};}
};

法二:

class Solution {
public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> umap;for(int i=0;i<nums.size();i++){auto iter=umap.find(target-nums[i]);if(iter!=umap.end()){return {iter->second,i};}else{umap.insert(pair<int,int>(nums[i],i));}}return {};}
};

三数之和

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请

你返回所有和为 0 且不重复的三元组。

注意:答案中不可以包含重复的三元组。
思考:这道题按照正常的思路也可以,不过剪枝和去重的时候比较麻烦,容易少写或者多写,所以最好按照双指针的写法来写

class Solution {
public:vector<vector<int>> threeSum(vector<int>& nums) {vector<vector<int>> result;sort(nums.begin(),nums.end());for(int i=0;i<nums.size();i++){if(nums[i]>0){break;}if(i>0&&nums[i]==nums[i-1]){continue;}int left=i+1;int right=nums.size()-1;while(right>left){if(nums[i]+nums[left]+nums[right]>0) right--;else if(nums[i]+nums[left]+nums[right]<0) left++;else{result.push_back({nums[i],nums[left],nums[right]});while(right>left&&nums[right]==nums[right-1]) right--;while(right>left&&nums[left]==nums[left+1]) left++;right--;left++;}}}return result;}
};

四数之和

给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复):

0 <= a, b, c, d < n
a、b、c 和 d 互不相同
nums[a] + nums[b] + nums[c] + nums[d] == target
你可以按 任意顺序 返回答案 。
思考:这道题和三数之和的解法很像,也是双指针,这样去重时不容易出错,但是有个注意的点就是在判断第二个数时需要参照第一个数的写法

class Solution {
public:vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int>> result;sort(nums.begin(),nums.end());for(int i=0;i<nums.size();i++){if(nums[i]>target&&nums[i]>=0){break;}if(i>0&&nums[i]==nums[i-1]){continue;}for(int j=i+1;j<nums.size();j++){if(nums[i]+nums[j]>target&&nums[i]+nums[j]>=0){break;}if(j>i+1&&nums[j]==nums[j-1]){continue;}int left=j+1;int right=nums.size()-1;while(right>left){if((long)nums[i]+nums[j]+nums[left]+nums[right]>target) right--;else if((long)nums[i]+nums[j]+nums[left]+nums[right]<target) left++;else{result.push_back(vector<int>{nums[i],nums[j],nums[left],nums[right]});while(right>left&&nums[right]==nums[right-1]) right--;while(right>left&&nums[left]==nums[left+1]) left++; left++;right--;}}}}return result;}
};
http://www.mmbaike.com/news/40608.html

相关文章:

  • 个人工作室网站设计黄页网站推广
  • 做问卷的网站生成二维码网络营销就是seo正确吗
  • 连锁品牌网站建设优化关键词的作用
  • 怎么做网站关键词优化网络营销的内涵
  • 做数据图网站5月疫情最新消息
  • 杭州网站做的好公司湛江seo网站管理
  • 佛山新网站建设服务公司seo博客
  • 锦州做网站如何线上推广引流
  • wordpress去除谷歌字体重庆店铺整站优化
  • wordpress 支持子主题郑州seo询搜点网络效果佳
  • 顺德做网站的公司哪家好seo 推广服务
  • 做网站好学吗什么是seo关键词优化
  • 动态ip做网站可以备案吗网站推广排名服务
  • 有关静态网站建设的毕业论文抖音广告
  • 辽宁金帝建设集团网站石家庄百度推广排名优化
  • 网页图片转换成pdf文件东莞seo推广
  • 做家电维修网站app优化方案
  • 如何查看网站是哪家公司做的好网站制作公司
  • 贵州seo外链seo推广
  • 怎样使用二维码做网站专业培训
  • 软件资源网站推荐优秀网站网页设计
  • 触屏版手机网站全国疫情地区查询最新
  • 珠宝行网站建设方案搜索引擎优化的英语简称
  • html网站完整代码网站推广引流
  • 网站如何做直播轮播百度推广多少钱
  • 东莞东城做网站公司微商刚起步怎么找客源
  • 加盟网站开发费用有域名和服务器怎么建网站
  • 网站死链接提交爱网站关键词挖掘
  • 石岩做网站google浏览器网页版
  • 北京网址快排seo软件