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

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

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

      算法學習--數組

         一個數組存放了2n+1個整數,其中有n個數出現了2次,1個數出現了1次,找出出現1次的數是多少?

             //方法一:借助輔助數組(長度為n+1,元素為一結構體(包含數值和
              //個數兩個成員))進行計數,但是時間復雜度為O(n*n),空間復雜度為O(n+1)

              //本來是想把Val定義為結構體的,但由于結構體是值類型,不是引用類型,
              //添加到List結合中的元素的屬性值不能被修改,把List中的一個元素賦給另一個Val,修改Val中的value和num,
              //List中對應的Val相關的屬性值是不會改變的,因為他們是內存中的兩個不同單元
              //總之:誰叫我C學得不好,用的是C#呢,不然就用C實現了。
          

          public class Val {
      public int value;//
      public int num;//出現的次數
      }

      public int FindA(int[] A, int n)
      {
      List
      <Val> list = new List<Val>();
      Val val ;
      int j=0;
      for (int i = 0; i < n ; i++)
      {
      while (j < n)
      {
      bool isExist = false;
      for(int k=0;k<list.Count;k++)
      {
      if (list[k].value == A[j])
      {
      isExist
      = true;
      list[k].num
      = 2;
      break;
      }
      }

      if (!isExist) {
      val
      = new Val();
      val.value
      = A[j];
      val.num
      = 1;
      list.Add(val);
      }
      j
      ++;
      }
      }

      int result = -1;
      foreach (Val v in list)
      {
      if (v.num == 1) {
      result
      = v.value;
      break;
      }
      }
      return result;

      }

      //方法二:借助一個長度為n/2+1的數組B,如果A中的元素不在B中,就存入B中,
      //如果在B中,存在的那個元素后面所有的元素向前移一個單位,相當于去掉這個在B中存在的元素,
      //這一進一出的,出現偶數次的都去掉了,只剩下出現奇數次的元素。
      public int FindI(int[] A, int n)
      {
      int[] B = new int[n / 2 + 1];
      int k = 0;
      for (int i = 0; i < n; i++)
      {
      bool isExist = false;
      for (int j = 0; j <= k; j++)
      {
      if (A[i] == B[j])
      {
      isExist
      = true;
      for (int f = j; f < k - 1; f++)
      {
      B[f]
      = B[f + 1];
      }
      k
      --;
      break;
      }
      }

      if (!isExist)
      {
      B[k]
      = A[i];
      k
      ++;
      }
      }

      return B[0];

      }


      //方法三:排序。相等的數當然就在一起,單獨的那個數就是那個只出現一次的了,哈哈...
      public int FindS(int[] A, int n)
      {
      for (int i = 0; i < n - 1; i++)
      {
      for (int j = i + 1; j < n; j++)
      {
      if (A[i] > A[j])
      {
      int temp = A[j];
      A[j]
      = A[i];
      A[i]
      = temp;
      }
      }
      }

      int result = -1;
      for (int i = 0; i < n; i = i + 2)
      {
      if (A[i] != A[i + 1])
      {
      result
      = A[i];
      break;
      }
      }
      return result;
      }



      //方法四:異或運算(博客園這位帥哥牛)
      //異或運算 0與任何數異或等于任何數,相等的兩個數異或等于0,
      //也就是兩個數對應的二進制位進行異或運算;0^0=0 , 1^0=1 , 0^1=1 , 1^1=0
      //出現偶數次都完蛋了,就剩下出現奇數次的了
      public int FindSpecial(int[] A, int n)
      {
      int res = 0;
      for (int i = 0; i < n; i++)
      {
      res
      = res ^ A[i];
      }
      return res;
      }
      posted @ 2010-11-16 11:00  古文觀芷  閱讀(665)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 国产激情无码一区二区APP| 人妻另类 专区 欧美 制服| 国产精品久久久久影院色| 亚洲欧美综合一区二区三区| 国产亚洲精品自在久久vr| 中文字幕色偷偷人妻久久| 日韩人妖精品一区二区av| 97久久综合亚洲色hezyo| 色吊丝av熟女中文字幕| 国产不卡一区二区精品| 天堂亚洲免费视频| 884aa四虎影成人精品| 草草线在成年免费视频2| 国产精品国产精品偷麻豆| 精品综合久久久久久97| 亚洲中文字幕av天堂| 中文字幕亚洲综合久久青草| 国产av综合一区二区三区| 亚洲中文字幕无码中字| 亚洲日本韩国欧美云霸高清| 久久欧洲精品成av人片| 91麻精品国产91久久久久| 日本欧美大码a在线观看| 国产成人a在线观看视频免费| 亚洲国产女性内射第一区| 一本一道av无码中文字幕麻豆| h无码精品3d动漫在线观看| 风韵丰满妇啪啪区老老熟女杏吧| 国产999久久高清免费观看| 人人爽人人澡人人人妻| 精品 日韩 国产 欧美 视频| 国产国产成人精品久久蜜| 一区二区三区精品偷拍| 亚洲色大成网站WWW永久麻豆| 最新精品国偷自产在线美女足| 老司机久久99久久精品播放免费| 99国产精品白浆无码流出| 高清精品一区二区三区| 国产亚洲一级特黄大片在线| 国产普通话对白刺激| 亚洲成在人线AV品善网好看|