zoukankan      html  css  js  c++  java
  • Algs4-1.4.2修改ThreeSum防止两个int值相加可能溢出

    1.4.2修改ThreeSum,正确处理两个较大的int值相加可能溢出的情况。
    答:
    图片
    public class ThreeSum
    {
        public static int count(int[] a)
        {
            int N=a.length;
            int cnt=0;
            long arg1;
            long arg2;
            long sum=0;
            for (int i=0;i<N;i++)
                for (int j=i+1;j<N;j++)
                   for(int k=j+1;k<N;k++)
                      {
                         arg1=a[i];
                         arg2=a[j];
                         sum=arg1+arg2;
                         StdOut.println("sum="+sum);
                         if(sum==-a[k])
                         cnt++;
                     }
            return cnt;
        }
       
        public static void main(String[] args)
        {
            int[] a=In.readInts(args[0]);
            StdOut.println(count(a));
        }
    }

  • 相关阅读:
    扫描线与悬线
    随机搜索与模拟退火
    树的直径相关
    分数规划及斜率优化
    数学-剩余系
    后缀数据结构
    AC自动机和KMP
    生命游戏和随机数之间某种不可言说的秘密
    转移了
    BZOJ 1710: [Usaco2007 Open]Cheappal 廉价回文
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854380.html
Copyright © 2011-2022 走看看