当前位置: 首页 > news >正文

力扣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)

相关文章:

  • Web 页面中“加载中”交互设计:从骨架屏到乐观更新
  • linux -c程序开发
  • 第八节:图像基本操作- 图像颜色空间转换 (RGB, HSV)
  • Android Service 从 1.0 到 16 的演进史
  • 小游戏(2)扫雷游戏
  • 小芯片大战略:Chiplet技术如何重构全球半导体竞争格局?
  • Laravel 12 基于 EMQX 实现 MQTT 消息发送与接收
  • Linux云计算训练营笔记day02(Linux、计算机网络、进制)
  • 信息论05:信息论中的条件熵——从不确定性量化到机器学习实战
  • java每日精进 5.06【框架之功能权限】
  • java安全入门
  • AI技术下研发体系重构
  • 登高架设作业“十不登高”原则
  • SSCLMD项目详细分析
  • colcon: error: unrecognized arguments: --packages-select报错
  • vs code管理员权限启动问题
  • 最新版Google浏览器加载ActiveX控件之VLC五一节特别版
  • 【Linux系统】读写锁
  • QT Sqlite数据库-教程03 插入数据-下
  • 如何修改 JAR 包中的源码
  • 李云泽:小微企业融资协调工作机制已发放贷款12.6万亿元
  • 李云泽:大型保险集团资本补充已经提上日程
  • 41年轮回,从洛杉矶奔向洛杉矶,李宁故地重游再出发
  • 马斯克的胜利?OpenAI迫于压力放弃营利性转型计划
  • 科普|治疗腰椎间盘突出症,筋骨平衡理论如何提供新视角?
  • 全红婵/陈芋汐夺得跳水世界杯总决赛女子双人10米台冠军