<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      二進制妙用之位標記

      二進制妙用之位標記

      1. 使用背景

      已知一個字符串 String s = "abcdefg",需要判斷字符串中是否存在重復的字符。

      2. 常規實現

      根據Hashset特性判斷重復。

      public void test2() {
        String s1 = "abcadeeee";
        Set s = new HashSet();
        for (int i = 0; i < s1.length(); i++) {
          if (!s.add(s1.charAt(i))) {
            System.out.println("第[" + i + "]位字符 " + s1.charAt(i) + " 已經存在");
          }
        }
      }

      3. 二進制實現

      實現原理有一下兩點

      1. 同一個字符-‘a’得到的值一定相等
      2. 將該值對應的位置打上標記,作為重復判斷的依據

      所以,二進制的實現也可以換成數組來實現。但是,通過二進制實現可以大大減少內存占用。

      二進制可以實現原理如下

      1. 初始一個值為0的整數。它對應在計算機的存儲格式 00000000 00000000 00000000 00000000
      2. 利用二進制或運算【|】,將對應位置二進制轉換為1,比如 00 | 10 = 10,我們此此時就知道對應索引值為1的字符已經出現了。
      3. 利用二進制與運算【&】,判斷字符串是否已經出現過。比如當字符串還未出現時 00&10 = 00 ,已經有字符串出現時 11&10 = 10 此時結果不等于0
      4. 二進制按位左移【<<】,比如 01<<1 = 10

      最總代碼實現如下

      // author:herbert date:20211022 wx:464884492
      public void findRepeatChar(){
       String s1 = "abcadeeee";
        int mark = 0;
        for (int i = 0; i < s1.length(); i++) {
         Integer bitIndex = s1.charAt(i) - 'a';
         if ((mark & (1 << bitIndex)) !=0) {
          System.out.println("第["+i+"]位字符 "+s1.charAt(i) + " 已經存在");
         }
         mark = mark|(1 << bitIndex);
        }
      }    

      5. 總結

      歡迎感興趣的朋友關注我的訂閱號“小院不小”,或點擊下方二維碼關注。我將多年開發中遇到的難點,以及一些有意思的功能,體會都會一一發布到我的訂閱號中

      小院不小

       

      posted @ 2021-11-02 16:12  _herbert  閱讀(404)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 午夜欧美日韩在线视频播放| 久热这里只有精品视频3| 亚洲精品色无码AV试看| 凉山| 精品乱人码一区二区二区| 亚洲尤码不卡av麻豆| 人人妻人人爽人人澡av| 亚洲中文欧美在线视频| 国产精品有码在线观看| 成人做爰视频www| 国内极度色诱视频网站| 国产中文字幕精品视频| julia无码中文字幕一区| 久久综合伊人77777| 中文字幕在线精品国产| 亚洲综合色丁香婷婷六月图片| 日韩一区二区三区亚洲一| 大地资源中文第二页日本| 国产成人无码aa精品一区| 美日韩精品一区二区三区| 亚洲国产超清无码专区| 延津县| 黑巨人与欧美精品一区| 五月婷婷深开心五月天| 综合欧美视频一区二区三区| 亚洲精品一品二品av| 亚洲精品一二三四区| 国产av亚洲精品ai换脸电影 | 亚欧美闷骚院| 亚洲精品揄拍自拍首页一| 2019nv天堂香蕉在线观看| 日韩中文字幕亚洲精品| 国产精品大片中文字幕| 桂林市| 国内外精品激情刺激在线| 中文字幕日本一区二区在线观看| 国产中文字幕日韩精品| 中文字幕av中文字无码亚| 亚洲精品理论电影在线观看| 无码人妻精品一区二区三区下载| 浴室人妻的情欲hd三级国产|