• <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

            一本色道久久88—综合亚洲精品| 久久综合丁香激情久久| 亚洲午夜无码AV毛片久久| 日韩十八禁一区二区久久| 蜜桃麻豆WWW久久囤产精品| 人妻久久久一区二区三区| 久久国产精品久久| 伊人久久大香线蕉综合热线| 亚洲中文字幕无码一久久区| 久久99国产亚洲高清观看首页| 亚洲欧美日韩精品久久| 久久天天躁狠狠躁夜夜2020一| 久久se精品一区二区| 欧美激情一区二区久久久| 91精品久久久久久无码| 狠狠色综合网站久久久久久久高清 | 亚洲国产精品久久电影欧美| 久久综合综合久久综合| 国产精品成人99久久久久 | 国产一级做a爰片久久毛片| 色综合久久综精品| 亚洲欧美日韩久久精品第一区| 久久青青草原综合伊人| 久久亚洲AV成人无码电影| 久久亚洲AV永久无码精品| 久久精品国产秦先生| 午夜欧美精品久久久久久久| 欧美成人免费观看久久| 久久国产精品免费| 久久精品国产亚洲综合色| 久久精品99久久香蕉国产色戒| 亚洲精品美女久久久久99小说| 99久久www免费人成精品| 国产精品18久久久久久vr | 中文字幕无码久久人妻| 久久九九久精品国产免费直播| 久久亚洲国产欧洲精品一| 久久免费精品一区二区| 久久精品国产只有精品2020| 99久久综合狠狠综合久久止| 精品久久久久久无码中文字幕一区|