文档章节

3Sum 超时

依姆哣特
 依姆哣特
发布于 2016/05/09 10:53
字数 252
阅读 38
收藏 0

暴力求解3sum超时,花了一上午写的,超时,有时间换个思路写吧暂时就不改了

class Solution {
public:
    vector<vector<int>> threeSum(vector<int>& nums) {
        int len = int(nums.size());
        
        sort(nums.begin(), nums.end(),less<int>());
        
        int newlenth = len*(len-1)*(len-2)/6;
        vector<vector<int>> res(newlenth,vector<int>(3,0));
        //vector<vector <int> > ivec(m ,vector<int>(n,0));
        int p=0;
        for (int i=0; i<len; i++) {
            if(i > 0 && nums[i] == nums[i-1]){
                continue;
            }
            for (int j=i+1; j<len; j++) {
                if(j > 0 && nums[j] == nums[j-1]){
                    continue;
                }
                for (int k=j+1; k<len; k++) {
                    if(k > 0 && nums[k] == nums[k-1]){
                        continue;
                    }
                    if (nums[i]+nums[j]+nums[k]==0) {
                        cout<<i<<endl<<j<<endl<<k<<endl;
                        res[p][0]=nums[i];
                        res[p][1]=nums[j];
                        res[p][2]=nums[k];
                        cout<<res[p][0]<<" "<<res[p][1]<< " "<<res[p][2]<<endl;
                        p++;
                    }
                }
            }
        }
        return res;
    }
};

之后我又写了个二分查找,也超时了,竟然是应为打印 ,我用了一个count++ 计数,导致了超时,先添加错误代码,在添加正确代码,我觉得挺好理解的。添加代码改版了 没弄明白,晚上接着贴代码吧~ 

© 著作权归作者所有

共有 人打赏支持
依姆哣特
粉丝 2
博文 26
码字总数 10646
作品 0
杭州
程序员
Leetcode_Problem 16_3 Sum Closest

题目 问题网址: https://leetcode.com/problems/3sum-closest/description/ 问题描述: Given an array S of n integers, find three integers in S such that the sum is closest to a giv......

quiet_girl
03/09
0
0
Lintcode59 3Sum Closest solution 题解

【题目描述】 Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. Notice:You ma......

Winnielyn
06/26
0
0
三个数的和

原题   Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.   Note:  ......

一贱书生
2016/12/12
3
0
Lintcode58 4Sum solution 题解

【题目描述】 Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target?Find all unique quadruplets in the array which gives the sum......

Winnielyn
06/26
0
0
Twitter Software Engineer 面经

去年十月份左右因为感觉要提前找找工作,所以比较盲目地投了不少简历,当时拿到了几个公司的面试,但都因为自己表现太差劲失败了。后来回来后就分析了分析自身的问题,还是基础太薄弱,面试时...

Winnielyn
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Go语言_通神之路(2)

1、包 每个Go程序都是由包构成,从main包开始运行,就是我上一篇讲到的,都是从main函数开始执行,但是必须在main包下面! package mainimport ( "fmt" "math/rand")func ...

木九天
昨天
5
0
51.php-fpm的pool 慢日志 open_basedir 进程管理

12.21 php-fpm的pool 12.22 php-fpm慢执行日志(测试时报错) 12.23 open_basedir 12.24 php-fpm进程管理 12.21 php-fpm的pool: php-fpm里的pool也叫池子,咱们之前加入过www的配置,这个w...

王鑫linux
昨天
0
0
java内存模型概述

1、Java虚拟机运行时数据分区图 程序计数器:线程私有,是一块较小的内存空间,它是当前线程所执行的字节码文件的行号指示器 java虚拟机栈:线程私有,其生命周期与线程相同,这也就是我们平...

京一
昨天
1
0
shell学习之test语法

因为if-then语句不能测试退出状态码之外的条件,所以提供了test, 如果test命令中列出的条件成立,test命令就会退出并返回退出状态码0;如果条件不成立,test命令就会退出并返回非零的退出状态...

woshixin
昨天
0
0
openJDK之如何下载各个版本的openJDK源码

如果我们需要阅读openJDK的源码,那么需要下载,那么该去哪下载呢? 现在JDK已经发展到版本10了,11已经处于计划中,如果需要特定版本的openJDK,它们的下载链接在哪呢? 1.openJDK的项目 链接...

汉斯-冯-拉特
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部