美文网首页JavaJava 杂谈
累和真的是你想的这么简单吗

累和真的是你想的这么简单吗

作者: SingleXu | 来源:发表于2019-03-20 19:14 被阅读0次
来自面试官的拷问 图片.png 结果 图片.png

到底是我的a,b和他的m,n不对应还是我没有进行非法判断呢?后来我想了下都不是,这题应该考的效率,于是:

import org.junit.Test;

import java.util.Date;

public class TestSum {

    //普通for循环累和
    public int sum1(int m, int n){
        int sum=0;
        for (int i = m; i <= n; i++) {
            sum += i;
        }
        return sum;
    }

    //高斯算法累和
    public int sum2(int m, int n){
        return (m+n)*(n-m+1)/2;
    }
    
    //递归累和
    public int sum3(int m, int n) {
        if (m > n) return 0;
        if (m == n) return m;
        return m + n + sum3(m + 1, n - 1);
    }

    @Test
    public void test1(){

        //普通循环效率最低
        Date start = new Date();
        int sum = sum1(0, 100000000);
        Date end = new Date();
        System.out.println("普通for循环结果"+sum);
        System.out.println("普通for循环耗时"+(end.getTime()-start.getTime()));
        System.out.println("==================================");


        //高斯运算最优
        start = new Date();
        sum = sum2(0, 100000000);
        end = new Date();
        System.out.println("高斯运算结果"+sum);
        System.out.println("高斯运算耗时"+(end.getTime()-start.getTime()));
        System.out.println("==================================");


        //递归运算效率不错,但在数字过大时后会内存溢出
        /*start = new Date();
        sum = sum3(0, 90000);
        end = new Date();
        System.out.println("递归运算结果"+sum);
        System.out.println("递归运算耗时"+(end.getTime()-start.getTime()));*/
    }

}

图片.png

算法理解:


图片.png

相关文章

  • 累和真的是你想的这么简单吗

    到底是我的a,b和他的m,n不对应还是我没有进行非法判断呢?后来我想了下都不是,这题应该考的效率,于是: 算法理解:

  • 那个姑娘

    姑娘,累吗? 累。 姑娘,苦吗? 苦。 既然这么累,这么苦,那你想不想要一场不为爱情的爱情?比如说和一位作家,呃,...

  • 是真的累吗

    下班回到家里,淘好米在电饭锅里,不想去冲凉,想在沙发上靠一会。 整个人很疲惫,科室有六个人休假,上班的五个人,还有...

  • 学习真的要这么累吗

    作为一名学生,总是看到周围的同学们在不停的补课。在假期中,有的同学一天学习的时间比在校上课的时间还要多。我认为,补...

  • 在这个尔虞我诈的社会,我很好,死不了

    经常被朋友骂“你怎么这么傻,能别这么单纯吗?你以为你这么想的别人就会这么想吗?你以为社会是你想的这么简单吗?就算社...

  • 累累累!

    写作累吗? 累 带孩子累吗? 累 既写作又带孩子累吗? 累 既然这么累为什么要写作? 既然这么累那就应该让自己...

  • 原来,过好人生也可以不那么累

    你累吗? 为什么这么累? 你想知道如何才能让自己不那么累吗? 我们越长大,越觉得生活在这个世界上真累。一步步被冠上...

  • (210)忙啥?

    成天感觉很累,很疲惫,早上醒不来,即使醒了也不想动。 难道我就真的这么累吗?上班就真的这么辛苦吗? 应该不是吧! ...

  • 有用的资料

    rootViewController获取真的如你想的那么简单吗https://www.jianshu.com/p/...

  • 我们是真的累吗?

    我现在坐在公交车上敲打着文字,线路是从总站坐到总站,离回到家应该会花费一段时间,在这个时候,我才感到有点放松了,今...

网友评论

    本文标题:累和真的是你想的这么简单吗

    本文链接:https://www.haomeiwen.com/subject/negtvqtx.html