`

整数值掉换

阅读更多

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

        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. **利率预期掉换**:基于对未来利率走势的预期调整债券组合。...

    各项护理-操作流程图与评分标准.doc

    3. 翻转褥垫,湿扫床褥,头尾掉换,卷放于床尾椅上。 4. 翻转床垫,铺好床褥。 5. 铺大单,确保对齐中线,先近侧后远侧,先床头后床尾再中间。 6. 套被套,采用"S"形方法放入棉被,角线吻合,系带。 7. 铺被筒,棉被...

    各项护理操作流程图及评分标准.doc

    3. 翻转褥垫,进行湿扫,然后按照头尾掉换的方式翻转床褥,卷放在床尾椅上。 4. 翻转床垫,铺好床褥。 5. 铺大单,确保对齐中线,从床头开始,再到床尾和中间。 6. 套被套,采用"S"形方法放入棉被,确保角线吻合,...

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

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

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

    在促销策略上,多数品牌在服务和促销手法上并无太大差异,售后服务普遍提供终身免费维护和等值掉换。老凤祥的现金回购业务尤为突出,提供2年内原价8折的回购承诺,增强了消费者的购买信心。 在媒体投放上,报告并未...

    C语言FAQ 常见问题列表

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

    中国古代趣味数学两例PPT课件.pptx

    前者假设笼中35只全是兔子,然后用鸡来掉换兔,最后算出鸡23只,兔12只。后者使用脚数的一半减去头数等于兔数;头数减去兔数等于鸡数,算出鸡23只,兔12只。 这两个问题体现了中国古代数学的智慧和创造力,都是数学...

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

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

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

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

    LuhnAlgorithm:Java中Luhn算法的实现

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

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

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

Global site tag (gtag.js) - Google Analytics