码迷,mamicode.com
首页 > 其他好文 > 详细

1.4.2

时间:2018-05-26 22:17:30      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:溢出   mod   code   bsp   1.4   IV   span   eve   for   

question:

Modify ThreeSum to work properly even when the int values are so large that adding two of them might cause overflow.

answer:

import edu.princeton.cs.algs4.*;

public class ThreeSum
{
    public static int count(int[] a) 
    {
        int N = a.length;
        int cnt = 0;
        for(int i = 0; i < N; i++)
        {
            for(int j = i+1; j < N; j++)
            {
                for(int k = j + 1; k < N; k++)
                {
                    if((long)a[i] + a[j] + a[k] == 0)//只要判断时不溢出就行
                        cnt++;
                }
            }
        }
        return cnt;
    }
    
    public static void main(String[] args)
    {
        int[] a = In.readInts(args[0]);
        StdOut.println(count(a));
    }
}

 

1.4.2

标签:溢出   mod   code   bsp   1.4   IV   span   eve   for   

原文地址:https://www.cnblogs.com/w-j-c/p/9094440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!