任务7

作者: mying_三丘 | 来源:发表于2019-03-16 21:23 被阅读0次

leetcode64. 最小路径和

给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。
技巧:不用递归,原地更新该位置的最小路径和

class Solution:
    
    def minPathSum(self, grid: List[List[int]]) -> int:
        if not grid:
            return
        num1 = len(grid)
        num2 = len(grid[0])
        if num1==1:
            return sum(grid[0])
        sum1=0
        if num2==1:
            for i in range(0,num2):
                sum1=sum1+grid[i][0]
            return sum1
        for i in range(1,num2):
            grid[0][i]=grid[0][i-1]+grid[0][i]
        for j in range(1,num1):
            grid[j][0]=grid[j-1][0]+grid[j-1][0]
        for i in range(2,num1):
            for j in range(2,num2):
                if grid[i-1][j]<=grid[i][j-1]:
                    grid[i][j]=grid[i-1][j]+grid[i][j]
                else:
                    grid[i][j]=grid[i][j-1]+grid[i][j]
        return grid[num1-1][num2-1]

leetcode322. 零钱兑换

给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。

class Solution {
public:
    int coinChange(vector<int>& coins, int amount) {
        vector<int> dp(amount+1,-1);
        sort(coins.begin(),coins.end());
        dp[0]=0;
        for(int i=1;i<=amount;i++){
            for(int j=0;j<coins.size();j++){
                if(coins[j]>i)
                    break;
                if(dp[i-coins[j]]!=-1){
                    if(dp[i]==-1 ||dp[i]>dp[i-coins[j]]+1){
                        dp[i]=dp[i-coins[j]]+1;
                    }
                }
            }
        }
        return dp[amount];
    }
    
};

leetcode70. 爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

class Solution:
    def climbStairs(self, n: int) -> int:
        if n==1 or n==0:
            return 1
        elif n==2:
            return 2
        else:
            return self.climbStairs(n-1)+self.climbStairs(n-2)

leetcode46. 全排列

给定一个没有重复数字的序列,返回其所有可能的全排列。

class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        from itertools import permutations
        return list(permutations(nums))

相关文章

  • 任务7

    class和id的使用场景? class选择器:又叫做类选择器,即给多个元素添加相同样式时,使用class选择器i...

  • 任务7

    1.class 和 id 的使用场景? id选择器在文档中的是唯一的,用于定义独一无二的样式。class类选择器可...

  • 任务7

    1.class 和 id 的使用场景? class在一个html标签中可以有很多个相同的class,但是id的话一...

  • 任务7

    1.class和id的使用场景? 在css中id用"#"表示,class用"."表示,在一个html中id只能为一...

  • 任务7

    派送成功,点击这里立即开始! 友情提示:本兼职信息《已通过正规部门审核,公司正规合法,请应聘者放心应聘》 本公司兼...

  • 任务7

    class 和 id 的使用场景? id:指定标签的唯一标识,id属性的值,在当前的page页面要是唯一的。 cl...

  • 任务7

    课程任务 问答 有序列表、无序列表、自定义列表如何使用?写个简单的例子。三者在语义上有什么区别?在哪些情况下使用哪...

  • 任务7

    回答 1. 有序列表、无序列表、自定义列表如何使用?写个简单的例子。三者在语义上有什么区别?在哪些情况下使用哪种(...

  • 任务7

    1.有序列表、无序列表、自定义列表如何使用?写个简单的例子。三者在语义上有什么区别?在哪些情况下使用哪种(重要)?...

  • 任务7

    今天学的东西有点多,有点累。   就记个出错的地方和一些图片吧 文本域的正确写法 而我写成了这样: 一些代码图 今...

网友评论

      本文标题:任务7

      本文链接:https://www.haomeiwen.com/subject/mzremqtx.html