leetcode18. 四数之和

一:题目

在这里插入图片描述

二:上码


class Solution {
public:/**思路:1.这个跟三数之和差别在于本题加了一层循环,就是我们将第二层循环加在了我们遍历的第一个元素的后面2.其他跟三数之和解题思路一样*/vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int> >ans;sort(nums.begin(),nums.end());for (int i = 0; i < nums.size(); i++) {if (i > 0 && nums[i] == nums[i-1]) continue;//去重处理//这里不能是 nums[i] = nums[i+1]//因为这样的话我们就会错过 -1 -1 1 1 taget = 0for (int j = i+1; j < nums.size(); j++) {if ( j > i+1 && nums[j] == nums[j-1]) continue;int left = j+1;int right = nums.size()-1;while (left < right) {if (nums[i]+nums[j] > target - (nums[left]+nums[right])) {right--;} else if (nums[i]+nums[j] < target - (nums[left]+nums[right])) {left++;} else {ans.push_back({nums[i],nums[j],nums[left],nums[right]});while (left < right && nums[left] == nums[left+1]) left++;while (left < right && nums[right] == nums[right-1]) right--;//上方的去重只是去重到不相同的元素的上一个元素。left++;right--;}}}}return ans;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/307435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试 .NET 开发​,为什么也要考算法?​

最近有不少人面试&#xff0c;我发现很多候选人&#xff0c;聊起架构、框架侃侃而谈&#xff0c;但一写代码&#xff0c;就暴露真实水平。说白了&#xff0c;还是基本功不够扎实。在我看来&#xff0c;所有基本功中&#xff0c;最核心的一定是数据结构与算法。也因此&#xff0…

leetcode344. 反转字符串

一:题目 二:上码 class Solution { public:/**思路:利用双指针来进行处理*/void reverseString(vector<char>& s) {for (int i 0,j s.size()-1; i < j; i,j--) {swap(s[i],s[j]);}} };

跟我一起学.NetCore之WebApi接口裸奔有风险(Jwt)

前言撸码需谨慎&#xff0c;裸奔有风险。经常在一些技术交流群中了解到&#xff0c;还有很多小伙伴的项目中Api接口没有做任何安全机制验证&#xff0c;直接就裸奔了&#xff0c;对于一些临时项目或是个人小项目还好&#xff0c;其余的话&#xff0c;建议小伙伴们酌情考虑都加上…

leetcode541. 反转字符串 II

一:题目 二:上码 class Solution { public:/**思路:1.这个我们需要利用到一个库函数 reverse(nums.begin(),nums.end()); // 将字符串反转那么将局部字符串的反转reverse(nums.begin(),nums.begin()2);//表示的是下标左闭右开的 [0,2)2.还有就是在处理每隔2*k这个问题上 我们选…

你是个失败者,有什么资格说话?

这是头哥侃码的第219篇原创这次十一长假&#xff0c;想必有不少朋友和我一样&#xff0c;跟家人聚在一起&#xff0c;吃个饭&#xff0c;喝点小酒&#xff0c;或者吃吃甜点&#xff0c;喝喝下午茶&#xff0c;“享受” 着在疫情严峻形式下难得的宁静时光。两天前&#xff0c;为…

leetcode151. 颠倒字符串中的单词(思路+详解)

一:题目 二:上码 class Solution { public:/**思路:1.去空格(字符串首部的空格 字符串中间的空格 字符串尾部的空格)1>:这里的话 我们就用到了双指针去空格 fastindex遇见空格直接跳过当fastindex遇不见空格&#xff0c;就将值赋值给fastindex;2.字符串反转3.将单词反转*/…

Azure 内容审查器之羞羞图审查

上一篇 Azure 内容审查器之文本审查我们已经介绍了如果使用Azure进行文字内容的审核。对于社区内容&#xff0c;上传的图片是否含有羞羞内容也是需要过虑的。但是最为一般开发者自己很难实现这种级别的智能识别。但是借助Azure的内容审查器可以分分钟实现它。创建内容审查器在使…

在springboot项目中 static中的 style.css加载不出来

一:问题展示 二:问题解决 404问题你就记住 绝逼是路径出了问题 我以前的写法 报错 修改之后的&#xff1a;可以正常显示

聊一聊mongodb中的 explain 和 hint

看到explain和hint的时候&#xff0c;第一个想到的就是mysql&#xff0c;确实&#xff0c;这就是在mysql中借鉴过来的&#xff0c;既然是借鉴过来的&#xff0c;我想大家都知道这两个关键字的用处&#xff0c;话不多说&#xff0c;速速观看~~~一&#xff1a;explain演示 1. 构建…

leetcode28. 实现 strStr()

一:题目 二:上码 class Solution { public:/**思路:1.KMP算法,主要处理的是字符串匹配的问题2.这里边需要用到next数组 也就是前缀表;那么我们为什么要用前缀表呢&#xff0c;当我们进行匹配字符的时候发现匹配到不相同的字符的时候,那么我们就需要在匹配字符串中查询前一个字符…

Blazor 火了,不禁让人想起已死的Silverlight !

Blazor 火了&#xff0c;Blazor是.NET on browser在开放标准下的一次全新尝试&#xff0c;也将是C#成为全平台全栈语言的最后一块拼图。技术上基于Xamarin团队正在开发的一套运行在wasm上的CLR实现。目前Blazor最直接的受益者还是那些想要做前端的C#开发者&#xff0c;有熟悉的…

xshell过期怎么办

一&#xff1a;问题展示 二:问题的解决 如果我们是出于学习的目的的话&#xff0c;那么我们就可以下载家庭版学生版的免费版本 下载地址:https://www.xshell.com/zh/free-for-home-school/ 然后就等着人家给你发邮件就行了 发完邮件点击里面的链接

C#刷剑指Offer | 二叉树中和为某一值的路径

【C#刷题】| 作者 / Edison Zhou这是EdisonTalk的第292篇原创内容我们来用之前学到的数据结构知识来刷《剑指Offer》的一些核心题目&#xff08;精选了其中30道题目&#xff09;&#xff0c;希望对你有帮助&#xff01;本文题目为&#xff1a;二叉树中和为某一值的路径。1题目介…

leetcode459. 重复的子字符串(KMP)

一:题目 二:上码 class Solution { public:/**思路:a b c a b c a b c a b cnext[i] 0 0 0 1 2 3 4 5 6 7 8 9i 0 1 2 3 4 5 6 7 8 9 10 11 length:12next[length-1]:next[11] 9length - next[length-1] 3;//求出我们的单个字符串如果length % (length - next[length-1]…

AA.Dapper升级了

AA.Dapper如何使用AA.Dapper基于dapper进一步封装而成的orm框架&#xff0c;提供增删改查、分页、事务、原生sql的功能&#xff0c;以满足日常的业务开发。1&#xff0e;Repository层&#xff1a;DapperRepository类包含大部分数据库操作如图&#xff1a; DapperContext.Curren…

剑指 Offer 05. 替换空格(java双指针)

一:题目 二:上码 class Solution {/**思路:1.双指针法进行解决2.我们先统计出空格的数量,然后再按空格数*2,扩充成字符串&#xff0c;加入到原来的字符串中3.然后我们定义两个指针 一个是原来数组长度的指针 一个是扩充完数组长度下标的指针4.当我们原来数组长度的指针遇见空…

如何使用 dotTrace 来诊断 netcore 应用的性能问题

最近在为 Newbe.Claptrap 做性能升级&#xff0c;因此将过程中使用到的 dotTrace 软件的基础用法介绍给各位开发者。Newbe.Claptrap 是一个用于轻松应对并发问题的分布式开发框架。如果您是首次阅读本系列文章。建议可以先从本文末尾的入门文章开始了解。开篇摘要dotTrace 是 J…

leetcode232. 用栈实现队列

一:题目 二:上码 class MyQueue { public:/**思路:1.设置两个栈,一个In,一个out,2.模拟入队的话 其实就是 往栈中添加元素3.模拟出队的话&#xff0c;那么是先进先出的 ,我们需要将in中的元素 导入到 out 中&#xff0c;然后出队的话其实也就是 out栈中的栈顶元素。*/stack<…

用.NetCore 编译国产老牌PHP论坛DiscuzX ,世界上最好的语言从此属于.Net 的一员

DiscuzX是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来&#xff0c;Discuz!已拥有15年以上的应用历史和200多万网站用户案例&#xff0c;是全球成熟度最高、覆盖率最大的论坛软件系统之一。目前最新版本Discuz! X3.4正式版于2017年8月2…

leetcode225. 用队列实现栈

一:题目 二:上码 class MyStack { private:/**思路:1.我们每次push的时候 先push进队列,然后的话,将该元素前面的元素都出队重新push进该队列的尾部*/queue<int>q; public:/** Initialize your data structure here. */MyStack() {}/** Push element x onto stack. */voi…