Skip to main content

moregeek program

#yyds干货盘点# 面试必刷top101:矩阵的最小路径和_风的博客-多极客编程

1.简述:

描述

给定一个 n * m 的矩阵 a,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,输出所有的路径中最小的路径和。

数据范围: ,矩阵中任意值都满足 

要求:时间复杂度 

例如:当输入[[1,3,5,9],[8,1,3,4],[5,0,6,1],[8,8,4,0]]时,对应的返回值为12,

所选择的最小累加和路径如下图所示:

#yyds干货盘点# 面试必刷TOP101:矩阵的最小路径和_路径和_04

示例1

输入:

[[1,3,5,9],[8,1,3,4],[5,0,6,1],[8,8,4,0]]

返回值:

12

示例2

输入:

[[1,2,3],[1,2,3]]

返回值:

7

2.代码实现:

import java.util.*;
public class Solution {
public int minPathSum (int[][] matrix) {
int n = matrix.length;
//因为n,m均大于等于1
int m = matrix[0].length;
//dp[i][j]表示以当前i,j位置为终点的最短路径长度
int[][] dp = new int[n + 1][m + 1];
dp[0][0] = matrix[0][0];
//处理第一列
for(int i = 1; i < n; i++)
dp[i][0] = matrix[i][0] + dp[i - 1][0];
//处理第一行
for(int j = 1; j < m; j++)
dp[0][j] = matrix[0][j] + dp[0][j - 1];
//其他按照公式来
for(int i = 1; i < n; i++){
for(int j = 1; j < m; j++){
dp[i][j] = matrix[i][j] + (dp[i - 1][j] > dp[i][j - 1] ? dp[i][j - 1] : dp[i - 1][j]);
}
}
return dp[n - 1][m - 1];
}
}

©著作权归作者所有:来自51CTO博客作者97的风的原创作品,请联系作者获取转载授权,否则将追究法律责任

#yyds干货盘点# leetcode 热题 hot 100:最大子数组和_灰太狼_cxh的博客-多极客编程

题目:给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。 示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23代

#yyds干货盘点# leetcode 热题 hot 100:跳跃游戏_灰太狼_cxh的博客-多极客编程

题目:给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。 示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎

使用eureka进行微服务系统的服务治理_架构悟道的博客-多极客编程

Spring Cloud算是分布式系统的一系列工具框架集合包。基于提供的这些集合包,可以快速的构建分布式系统。 Netflix是Spring Cloud中的重要组件。其中涵盖了一些开箱即用的分布式服务治理能力,诸如服务管理注册(Eureka)、熔断器(Hystrix)、智能路由(Zuul)、客户端负载均衡(Ribbon)等等。 本章主要记录下Netflix中Eureka服务注册管理相关的概念。

#yyds干货盘点# 面试必刷top101:不同路径的数目(一)_风的博客-多极客编程

1.简述:描述一个机器人在m×n大小的地图的左上角(起点)。机器人每次可以向下或向右移动。机器人要到达地图的右下角(终点)。可以有多少种不同的路径从起点走到终点?备注:m和n小于等于100,并保证计算结果在int范围内数据范围:,保证计算结果在32位整型范围内要求:空间复杂度 ,时间复杂度 进阶:空间复杂度 ,时间复杂度 示例1输入:2,1返回值:1示例2输入:2,2返回值:22.代码实现:imp

go、java、c/c++、python,这些编程语言谁才是王者?_imooc慕课君的博客-多极客编程

最近我加入了一个使用Go语言的项目组。由于此前对Go语言的了解还停留在理论认识的阶段,没有大型项目的经验,加入这个项目组让我算是真正体验了一把Go语言,职业技能树也更加丰富了起来。Go语言的很多语言特性让人耳目一新,而最让我感到震撼的莫过于Go语言服务开发流程的简单便捷,通过Go Build出来的二进制文件,发布到服务器后,直接就可以运行。相比C/C++语言出来的二进制文件来说,无需管理一大堆依赖

# 安卓中实现分页加载方案总结(一)——基于smartrefreshlayout_12338090的博客-多极客编程

安卓中实现分页加载方案总结(一)——基于SmartRefreshLayout 背景 项目中多场景使用到了列表分页加载的操作,比如消息列表,先总结一下基于SmartRefreshLayout的分页加载方案。 实现方案 一、导入SmartRefreshLayout相关jar包 // 下拉刷新 implementation 'com.scwang.smartrefresh:SmartRe

#yyds干货盘点# leetcode 热题 hot 100:最大子数组和_灰太狼_cxh的博客-多极客编程

题目:给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。 示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23代

#yyds干货盘点# leetcode 热题 hot 100:跳跃游戏_灰太狼_cxh的博客-多极客编程

题目:给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。 示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎

【c语言_9】快速掌握分支结构!_秃头程序媛的博客-多极客编程

1.分支结构的标准公式//单条语句if(测试条件) 条件为真所执行的语句else 条件为假所执行的语句//多条语句if(测试条件){ 条件为真所执行的流程}else{ 条件为假所执行的流程}1.分支结构运用输入一个整数,如果该数值在2~10之间输出yes,否则输出no.#include<stdio.h>int main(){ int a; print

#yyds干货盘点# 面试必刷top101:不同路径的数目(一)_风的博客-多极客编程

1.简述:描述一个机器人在m×n大小的地图的左上角(起点)。机器人每次可以向下或向右移动。机器人要到达地图的右下角(终点)。可以有多少种不同的路径从起点走到终点?备注:m和n小于等于100,并保证计算结果在int范围内数据范围:,保证计算结果在32位整型范围内要求:空间复杂度 ,时间复杂度 进阶:空间复杂度 ,时间复杂度 示例1输入:2,1返回值:1示例2输入:2,2返回值:22.代码实现:imp

vb.net绘制直线和贝塞尔曲线_vb.net课程的博客-多极客编程

用VB.NET绘制直线的方法为:画布工具Graphics.DrawLine(钢笔工具Pen,起始点Point,终止点Point)其中的参数Point对象还可以用PointF对象或分别用其横坐标X值和横坐标Y值代替。用VB.NET连续绘制多条直线的方法为:画布工具Graphics.DrawLines(钢笔工具Pen,有序点数组)其中的参数有序点数组由按照顺序连接到各个点(Point或PointF)构

go、java、c/c++、python,这些编程语言谁才是王者?_imooc慕课君的博客-多极客编程

最近我加入了一个使用Go语言的项目组。由于此前对Go语言的了解还停留在理论认识的阶段,没有大型项目的经验,加入这个项目组让我算是真正体验了一把Go语言,职业技能树也更加丰富了起来。Go语言的很多语言特性让人耳目一新,而最让我感到震撼的莫过于Go语言服务开发流程的简单便捷,通过Go Build出来的二进制文件,发布到服务器后,直接就可以运行。相比C/C++语言出来的二进制文件来说,无需管理一大堆依赖