`

整数值掉换

阅读更多

以前面试的时候遇到一个面试题 :把两个整数的值进行掉换,不用中间数.后来网上查来下,代码如下所示:

        int i = 123;
        int j = 125;
        i = i ^ j;
        j = i ^ j;
        i = j ^ i;

 今天写了个测试用例,发现效率比平常写的换法慢,想了下虽然少了个中间数的初始化,但其实算法方面需要的时间太多,没多大实际的意义。测试代码如下

 @Test
    public void test1()
    {
        System.out.println("------- test1 ---------");
        long node = System.nanoTime();
        long curr = System.currentTimeMillis();
        int i = 123;
        int j = 125;
        i = i ^ j;
        j = i ^ j;
        i = j ^ i;
        System.out.println("i : " + i + " ; j : " + j);
        System.out.println("方法执行时间 : " + (System.nanoTime() - node) + "纳秒");
        System.out.println("方法执行时间 :" + (System.currentTimeMillis() - curr));
    }
    
    @Test
    public void test2()
    {
         System.out.println("------- test2 ---------");
        long node = System.nanoTime();
        long curr = System.currentTimeMillis();
        int i = 123;
        int j = 125;
        int tmp;
        tmp = i;
        i = j;
        j = tmp;
        System.out.println("i : " + i + " ; j : " + j);
        
        System.out.println("方法执行时间 : " + (System.nanoTime() - node) + "纳秒");
        System.out.println("方法执行时间 :" + (System.currentTimeMillis() - curr));
    }
分享到:
评论

相关推荐

    Computer Networks Lec 2

    线性规划是一种数学方法,用于在满足一组线性不等式约束条件下寻找线性目标函数的最大值或最小值。在计算机网络领域,线性规划的应用十分广泛,比如在网络设计中确定最优的链路容量配置、在流量工程中找到最佳的数据...

    2021-2022年收藏的精品资料证券组合管理.doc

    41. **替代掉换**:用新发行的债券替换旧债券,以改善组合的信用质量或收益率。 42. **市场内部价差掉换**:利用不同市场间债券价格差异进行交易。 43. **利率预期掉换**:基于对未来利率走势的预期调整债券组合。...

    你必须知道的495个C语言问题(PDF)

    1.1 我如何决定使用那种整数类型? . . . . . . . . . . . . . . . . . . . 1 1.2 64 位机上的64 位类型是什么样的? . . . . . . . . . . . . . . . . 1 1.3 怎样定义和声明全局变量和函数最好? . . . . . . . . ....

    C语言FAQ 常见问题列表

    o 2.1 我如何决定使用那种整数类型? o 2.2 64 位机上的 64 位类型是什么样的? o 2.3 怎样定义和声明全局变量和函数最好? o 2.4 extern 在函数声明中是什么意思? o 2.5 关键字 auto 到底有什么用途? o 2.6...

    很好用的伪原创工具软件免费分享了

    描述中提到的“可以将内容掉换段落,打乱顺序等,可以自己加替换文字等,功能齐全”,揭示了这款工具的核心功能。首先,段落调换是伪原创的一种基本技巧,通过重新组织文章的结构,使整体内容保持原意但呈现方式不同...

    武汉襄樊珠宝市场调查报告.docx

    但售后服务普遍做到了终身免费维护和等值掉换。值得一提的是,老凤祥的现金回购业务十分突出,提供了2年内原价8折的回购承诺,这无疑增强了消费者的购买信心。 至于媒体投放,报告并没有深入探讨,但一般情况下,...

    基础知识检测题2 请改正双音错别字.docx

    带替(代替)沾污(玷污)挡案(档案)锻练(锻炼)斗欧(斗殴)凋敝(凋敝)耽心(担心)箜腿(空腿)到退(倒退)倒乱(捣乱)嘀亲(嫡亲)淡模(淡漠)度江(渡江)渡假(度假)掉换(调换)砥励(砥砺)端祥...

    LuhnAlgorithm:Java中Luhn算法的实现

    Luhn算法虽然简单,但其有效性在于它能够检测到大部分单个数字的错误,比如误输、掉换或颠倒数字。然而,它并不能检测出所有类型的错误,例如连续数字的删除或添加。 在实际应用中,Luhn算法通常与其他安全机制一起...

    高考英语3500单词第19讲(单词速记与拓展).pdf

    - **含义**:交换、掉换、交流。 - **记忆技巧**:`ex-`有“向外”的含义,`change`意为“改变”。可以理解为“物品或信息向外改变位置”,即“交换”。 #### 7. **excite** - **含义**:使兴奋、使激动。 - **...

Global site tag (gtag.js) - Google Analytics