<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?LeetCode刷題實戰(zhàn)343:整數(shù)拆分

          共 1710字,需瀏覽 4分鐘

           ·

          2021-08-09 20:41

          算法的重要性,我就不多說了吧,想去大廠,就必須要經(jīng)過基礎(chǔ)知識和業(yè)務(wù)邏輯面試+算法面試。所以,為了提高大家的算法能力,這個公眾號后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問題叫做 整數(shù)拆分,我們先來看題面:
          https://leetcode-cn.com/problems/integer-break/

          Given an integer n, break it into the sum of k positive integers, where k >= 2, and maximize the product of those integers.


          Return the maximum product you can get.

          給定一個正整數(shù) n,將其拆分為至少兩個正整數(shù)的和,并使這些整數(shù)的乘積最大化。 返回你可以獲得的最大乘積。

          示例


          示例 1:

          輸入: 2
          輸出: 1
          解釋: 2 = 1 + 1, 1 × 1 = 1。


          示例 2:

          輸入: 10
          輸出: 36
          解釋: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。


          解題

          動態(tài)規(guī)格

          dp[i]:整數(shù) i 拆分后的最大值
          狀態(tài):每一個整數(shù)
          選擇:拆分成哪兩個整數(shù),注意:這里只需考慮所拆分成兩個整數(shù)即可,因為在計算的時候采用的是所選整數(shù)對應(yīng)的拆分結(jié)果
          狀態(tài)轉(zhuǎn)移方程:
          在狀態(tài)轉(zhuǎn)移的時候,如果該整數(shù)大于其拆分后的結(jié)果,那么用該整數(shù)本身;否則,用該整數(shù)對應(yīng)的拆分結(jié)果。

          class Solution {
          public:
              int integerBreak(int n) {
                  vector<int> dp(n + 1, 0);
                  dp[2] = 1;
                  for(int i = 3; i <= n; ++i){
                      for(int j = 1; j <= i / 2; ++j){
                          dp[i] = max(dp[i], (dp[j] > j ? dp[j] : j) * (dp[i - j] > i - j ? dp[i - j] : i - j));
                      }
                  }
                  return dp[n];
              }
          };


          好了,今天的文章就到這里,如果覺得有所收獲,請順手點個在看或者轉(zhuǎn)發(fā)吧,你們的支持是我最大的動力 。

          上期推文:
          LeetCode1-340題匯總,希望對你有點幫助!
          LeetCode刷題實戰(zhàn)341:扁平化嵌套列表迭代器
          LeetCode刷題實戰(zhàn)342:4的冪

          瀏覽 49
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧洲亚洲日本在线 | 九九免費视頻 | 日韩在线中文 | 操逼18p | 天天天天天干天天天天天日 |