中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java怎么解決剪繩子問題

發布時間:2022-03-22 15:53:27 來源:億速云 閱讀:188 作者:iii 欄目:互聯網科技

本篇內容介紹了“Java怎么解決剪繩子問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

剪繩子問題

題目:

給你一根長度為n的繩子,請把繩子剪成m段(m、n都是整數,n>1并且m>1),每段繩子的長度記為k[0],k[1],...k[m]。

請問k[0]*k[1]*...k[m]可能的最大乘機是多少?

例如:當繩子的長度是8時,我們把他剪成長度分別為2、3、3的三段,此時得到的最大乘積是18。

int maxProductAfterCutting(int length){    if(length<2)return 0 ;    if(length==2)return 1;    if(length==3)return 2;//這里是2而不是下面的3,是因為最少要分割2次
   //products[i]存放的是第長度為i的繩子剪成若干段后,各段乘機的最大值,    int*products=new int[length+1];    products[0]=0;    products[1]=1;    products[2]=2;    products[3]=3;//這個地方與上面return是不同的,因為長度為3的繩子各段乘積的最大值是3
   for(int i=;i<=length;++i)//i是遞增的,也就是繩子長度是遞增的,先求出長度為i的乘機最大值,    {    //在求product[i]之前,對于每一個j(分割后每一小段繩子的長度)而言,product[j]都已經求出來了,并 //且結果保存在projects[j]里,為了求解product[j],需要求出所有可能的product[j]*product[i-j]并//比較他們的最大值。        for(int j=1;j<=(i/2);++j)        {            int product=product[j]*product[i-j];            if(max<product)                max=product;            product[i]=max;        }    }    max=products[length];    delete[] products;
   return max;
}

“Java怎么解決剪繩子問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普定县| 福贡县| 文安县| 淳安县| 张掖市| 唐山市| 中卫市| 苏州市| 栖霞市| 东乡族自治县| 鹤庆县| 孟州市| 调兵山市| 双柏县| 内丘县| 从化市| 万山特区| 滦南县| 玉山县| 儋州市| 临夏市| 锡林浩特市| 阿图什市| 历史| 巴林左旗| 南昌市| 武夷山市| 洮南市| 泰安市| 宁国市| 临江市| 佛学| 祁阳县| 铜梁县| 柳江县| 上饶市| 木里| 九龙坡区| 潢川县| 盐山县| 江孜县|