力扣118,1920题解

记录

2525.5.6

题目:

思路:

用一个二维数组dp[numRows][numRows]保存每一次动态规划的结果

1.令dp[0][0]=1(第一列)

2.找规律

3.得到如下规律(以下情况均为列数大于1)

if(col==0){

dp[row][col]=1

} else {

dp[row][col]=dp[row-1][col-1]+dp[row-1][col]

}

代码:

java 复制代码
class Solution {
    public List<List<Integer>> generate(int numRows) {
		List<List<Integer>> result=new ArrayList<List<Integer>>();
		int[][] dp=new int[numRows][numRows];
		dp[0][0]=1;
		for (int i = 1; i < numRows; i++) {
			for (int j = 0; j <=i; j++) {
				if(j==0)dp[i][j]=1;
				else dp[i][j]=dp[i-1][j-1]+dp[i-1][j];
			}
		}
		for (int i = 0; i < dp.length; i++) {
			List<Integer> tmp=new ArrayList<>();
			for (int j = 0; j < dp.length; j++) {
				if(dp[i][j]==0) break;
				tmp.add(dp[i][j]);
			}
			result.add(new ArrayList<>(tmp));
		}
		
		return result;
    }
}

复杂度:

O(N2

O(N2

题目:

思路:

构建一个与原数组 nums 等长的新数组,同时令新数组中下标为 i 的元素等于 nums[nums[i]]。

代码:

java 复制代码
class Solution {
    public int[] buildArray(int[] nums) {
        int n = nums.length;
        int[] ans = new int[n];
        for (int i = 0; i < n; ++i) {
            ans[i] = nums[nums[i]];
        }
        return ans;
    }
}

复杂度:

O(N)

O(N)

相关推荐
岁忧9 分钟前
(LeetCode 面试经典 150 题) 138. 随机链表的复制 (哈希表)
java·c++·leetcode·链表·面试·go
重生之我是Java开发战士16 分钟前
【C语言】内存函数与数据在内存中的存储
c语言·开发语言·算法
roman_日积跬步-终至千里1 小时前
【机器学习】“回归“算法模型的三个评估指标:MAE(衡量预测准确性)、MSE(放大大误差)、R²(说明模型解释能力)
算法·机器学习·回归
只会蓝桥杯能算acmer吗2 小时前
面试小总结
面试·职场和发展
小指纹3 小时前
图论-最短路Dijkstra算法
数据结构·c++·算法·深度优先·图论
赴3354 小时前
逻辑回归 银行贷款资格判断案列优化 交叉验证,调整阈值,下采样与过采样方法
算法·机器学习·逻辑回归·下采样·交叉验证·过采样·阈值
2501_924878734 小时前
无人机光伏巡检缺陷检出率↑32%:陌讯多模态融合算法实战解析
开发语言·人工智能·算法·视觉检测·无人机
沉睡的无敌雄狮4 小时前
无人机光伏巡检漏检率↓78%!陌讯多模态融合算法实战解析
人工智能·算法·计算机视觉·目标跟踪
magicwt4 小时前
《从零构建大模型》读书笔记
算法
大胖猫L4 小时前
深搜与广搜在 TypeScript 类型递归中的应用
前端·算法