• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            1. 找出一個數組中,最大的一段連續的數的和。Find out the subarray which has the largest sum.
            例如:[1, -3, 2, -4 , 5 , 6, -2, 6, 7] 最大的和就是 22 = 5 + 6 - 2 + 6 +7.
            解法如下:
            int subMax(int [] a)
            {
                int best = 0;
                int sum = 0;
                for(int i = 0; i < a.length; i++)
                {
                     sum = sum + a[i];
                     if(sum < 0 )
                         sum = 0;
                     else if(sum > best)
                         best = sum;
                }
                return best;
            }
            想法就是一直加接下來的數,如果小于零就變為0,大于最大的數就更新。其中一點就是,如果遇到負數, 如果和不小于零就不用使sum為零。如果數組全部為負數,上面的代碼有點問題,但不改了。如果想知道 這個最大的和的序列是什么,只要稍微改變就可以了,不說了。

            2. Ugly Number: 找出第n個能被2,3,5整除的數
            例如:2, 3, 4, 5, 6, 9,10, 12, 15, 20, 25 ... 第3個是4, 第4個是5,第5個是6 ... 第200是?
            想法:首先是從 1開始,2,3,5分別乘1,最小的是2,接下來就是2,2的位置進1,3和5的位置不變 再來一次,最小的是3,3的位置進1,2和5位置進1,再來一次,最小的是4,3和5的位置不變。。。
            int uglyNum( int n)
            {
               
            int a = new int[n+1]
               a[
            0= 1;
               
            int i2 = 0, i3 = 0, i5 = 0;
               
            int n2 = 0; n3 = 0; n5 = 0;
               
            int m = 0;
               
            for(int i = 0; i <= n; i++)
               {
                  n2 
            = a[i2] * 2;
                  n3 
            = a[i3] * 3;
                  n5 
            = a[i5] * 5;
                  m 
            = min(n2, n3, n5);
                  
            if(m == n2)
                  {
                     a[i] 
            = m;
                     i2
            ++;
                  }
                  
            //similar for i3 and i5
               }
               
            return a[n];
            }

            3. 最后一個問題:給 i, j 兩個數,然后打印出 2^i ,5^j 的序列
            例如: i = 3 j =4 就打印出:
            2^0 * 5 ^0 = 1
            2^1 * 5^0 = 2
            2^2 * 5 ^0 = 4
            2^0 * 5^1 = 5
            2^3 * 5^0 = 8
            2^1 * 5^1 = 10
            ...
            解法:和上面一個解法很相似,不過注意要處理相等的情況,比如2 * 2^1 * 5 ^1 = 20 2^2 * 5^0 ^5 = 20, 代碼就不寫了。

            posts - 16, comments - 16, trackbacks - 0, articles - 0

            Copyright © MichaelCao

            久久精品中文字幕久久| 亚洲人成网亚洲欧洲无码久久| 91精品国产高清91久久久久久| 99久久人妻无码精品系列 | 久久国产V一级毛多内射| 久久午夜无码鲁丝片午夜精品| 综合久久精品色| 精品久久久久久久久午夜福利| 99久久精品国产一区二区| 亚洲伊人久久综合中文成人网| 久久久久亚洲Av无码专| 一本综合久久国产二区| 97久久精品无码一区二区| 亚洲七七久久精品中文国产| 99精品久久精品一区二区| 日韩精品久久久久久久电影| 久久99热狠狠色精品一区| 精品多毛少妇人妻AV免费久久| 久久精品国产亚洲网站| 精品多毛少妇人妻AV免费久久| 久久精品中文字幕有码| 99久久精品午夜一区二区| 欧美亚洲国产精品久久高清| 国产成人久久精品麻豆一区| 青青草原精品99久久精品66| 久久毛片一区二区| 久久久久国产日韩精品网站| 久久综合久久综合久久综合| 人妻精品久久久久中文字幕一冢本 | 久久免费高清视频| 天天躁日日躁狠狠久久| 久久亚洲精品无码aⅴ大香| 99久久综合国产精品二区| 精品综合久久久久久888蜜芽| 久久亚洲日韩看片无码| 久久综合偷偷噜噜噜色| 热久久视久久精品18| 久久久久久精品免费看SSS| 亚洲午夜久久久久久噜噜噜| 久久精品国产色蜜蜜麻豆| 精品熟女少妇AV免费久久|