给定一个长度是 n 的数组 nums ,和一个目标值 target,请你找出不重复的四元组 [nums[a],nums[b],nums[c],nums[d]] (如果四元组的元素一一对应则只输出其中一组) 同时四元组要满足 各不相同, 你可以按任意顺序输出 数据范围: ,
区块链毕设网qklbishe.com为您提供问题的解答
给定一个长度是 n 的数组 nums ,和一个目标值 target,请你找出不重复的四元组 [nums[a],nums[b],nums[c],nums[d]] (如果四元组的元素一一对应则只输出其中一组)
同时四元组要满足 各不相同,
你可以按任意顺序输出
数据范围: ,
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @param target int整型 * @return int整型vector<vector<>> */ vector<vector<int> > fournumber(vector<int>& nums, int target) { int n=nums.size(); sort(nums.begin(),nums.end()); vector<vector<int>>res; for(int i=0;i<n;i++){ if(i>0&&nums[i]==nums[i-1]){ continue; } for(int j=i+1;j<n;j++){ if(j>i+1&&nums[j]==nums[j-1]){ continue; } int k=j+1,p=n-1; while(k<p){ while(k>j+1&&k<n&&nums[k]==nums[k-1]){ k++; } if(k>=p){ break; } long sum=(long)nums[i]+nums[j]+nums[k]+nums[p]; if(sum==target){ res.push_back({nums[i],nums[j],nums[k],nums[p]}); k++; }else if(sum>target){ p--; }else if(sum<target){ k++; } } } } return res; } };
56:26
以上就是关于问题给定一个长度是 n 的数组 nums ,和一个目标值 target,请你找出不重复的四元组 [nums[a],nums[b],nums[c],nums[d]] (如果四元组的元素一一对应则只输出其中一组) 同时四元组要满足 各不相同, 你可以按任意顺序输出
数据范围: ,的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训