激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java中的異或問題代碼解析

java中的異或問題代碼解析

2021-03-09 14:20Islandww Java教程

這篇文章主要介紹了java中的異或問題代碼解析,具有一定借鑒價值,需要的朋友可以參考下。

java的位運算符中有一個叫異或的運算符,用符號(^)表示,其運算規則是:兩個操作數的位中,相同則結果為0,不同則結果為1。下面看一個例子:

?
1
2
3
4
5
6
public class TestXOR{
    public static void main(String[] args){
        int i = 15, j = 2;
        System.out.println("i ^ j = " + (i ^ j));
    }
}

運行結果是:i^j=13.

分析上面程序,i=15轉成二進制是1111,j=2轉成二進制是0010,根據異或的運算規則得到的是1101,轉成十進制就是13.

利用這個規則我們可以靈活運用到某些算法。比如,假定有2K+1個數,其中有2k個相同,需要找出不相同的那個數,比如:2、3、4、4、3、5、6、6、5。我們利用異或運算符就可以這樣寫:

?
1
2
3
4
5
6
7
8
9
10
public class TestXOR{
    public static void main(String[] args){
        int[] array = {2,3,4,4,3,5,6,6,5};
        int v = 0;
        for (int i = 0;i < array.length;i++) {
            v ^= array[i];
        }
        System.out.println("只出現一次的數是:" + v);
    }
}

結果是:只出現一次的數是2.

我們就是巧用異或運算符的規則,得出一個數和0異或還是自己,一個數和自己異或是0的原理。

上述計算方式:v=2^3^4^4^3^5^6^6^5;

根據交換律以及上述規則

可以推出只出現一次的數(需滿足前提條件2k個相同)

總結

以上就是本文關于java中的異或問題代碼解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/islandww/article/details/78661353

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美18一12sex性处hd | 九九热精 | www.guochanav.com| 国产美女精品视频 | 激情综合网俺也去 | 97中文字幕在线观看 | 免费看日产一区二区三区 | 亚洲一区国产二区 | 成人av一区二区免费播放 | 国产亚洲精品久久久久婷婷瑜伽 | 国产亚洲高清视频 | 欧美大逼网 | 国产一级毛片a | 欧美精品一区二区三区四区 | 欧美成人一区免费视频 | 久久亚洲网| 新久草在线视频 | 久久一区国产 | 国产精品视频免费在线观看 | 亚洲综合视频一区 | 久久久久免费精品国产小说色大师 | 日本久久综合网 | 精品成人久久久 | 色网免费观看 | 久久久久久久久久亚洲精品 | 国产日韩欧美一区 | 久草在线观看福利 | 奇米影视亚洲春色 | 美女擦逼 | 日韩字幕在线观看 | 日韩一级毛毛片 | av免费在线网 | 日本在线不卡一区二区 | av在线日韩| 暴力肉体进入hdxxxx0 | 成人小视频在线播放 | 亚洲国产视频在线 | 粉嫩蜜桃麻豆免费大片 | av在线免费播放网站 | 国产做爰全免费的视频黑人 | 日韩av一区三区 |