欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 力扣118,1920题解

力扣118,1920题解

2025/11/10 12:13:46 来源:https://blog.csdn.net/wang__12300/article/details/147750216  浏览:    关键词:力扣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]
}

代码:

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]]。

代码:

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)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词