首页 🍒LeetCode,🐶算法

题目

0.png

思路

因为每次只有两个操作:复制或粘贴。可以用深搜把所有情况遍历。
采用一个memo数组记忆化搜索

class Solution {
public:
    int INM = INT_MAX - 10;
    int memo[1001][1001];

    int minSteps(int n) {
        if (n == 0) return 0;
       return dfs(n, 1, 0);
    }

    int dfs(int n, int i, int j) {
        if (i > n) return INM;
        if (i == n) return 0;
        if (memo[i][j] != 0) return memo[i][j];
        int m = INM;
        if (j > 0) m = min(m, dfs(n, i + j, j));
        if (i != j) m = min(m, dfs(n, i, i));
        memo[i][j] = m + 1;
        return m + 1;
    }
};



文章评论

    六天 访客ChromeWindows
    2021-09-23 19:48   回复

    看你的博客好几天了,内容不错,站长能换个链接不,www.sixday.tech 杨哥工作室,谢谢!

      Narakue 站长ChromeWindows
      2021-09-24 14:28   回复

    深圳摄影师 访客ChromeWindows
    2021-09-23 15:47   回复

    看你的博客好几天了,内容不错,站长能换个链接不,www.photoinhere.com 印象美摄影工作室,谢谢!

      Narakue 站长ChromeWindows
      2021-09-23 19:45   回复

      好的,已添加谢谢支持