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

宜州市住房保障和城乡建设局网站深圳网站制作建设服务公司

宜州市住房保障和城乡建设局网站,深圳网站制作建设服务公司,一流的营销型网站建设,建设个人网站的心得体会每日算法 - 250530 记录一下今天完成的LeetCode算法题目,包含思路、解题过程、复杂度分析和代码实现。 3128. 直角三角形 题目 思路 数组 解题过程 显而易见的是,我们枚举中间的顶点最好计算。当我们的中间顶点是1时,它能够组成的直角三角…

每日算法 - 250530

记录一下今天完成的LeetCode算法题目,包含思路、解题过程、复杂度分析和代码实现。


3128. 直角三角形

题目
在这里插入图片描述

思路

数组

解题过程

显而易见的是,我们枚举中间的顶点最好计算。当我们的中间顶点是1时,它能够组成的直角三角形的个数就是这一行除了它以外的1的个数乘上这一列除了它以外的1的个数。

复杂度

  • 时间复杂度: O ( N M ) O(NM) O(NM)
  • 空间复杂度: O ( N + M ) O(N + M) O(N+M)

Code

class Solution {public long numberOfRightTriangles(int[][] grid) {long ret = 0;int r = grid.length;int c = grid[0].length;int[] r1 = new int[r];int[] c1 = new int[c];for (int i = 0; i < r; i++) {for (int j = 0; j < c; j++) {if (grid[i][j] == 1) {r1[i]++;c1[j]++;}}}for (int i = 0; i < r; i++) {for (int j = 0; j < c; j++) {if (grid[i][j] == 1) {ret += (long)(r1[i] - 1) * (c1[j] - 1);}}}return ret;}
}

303. 区域和检索 - 数组不可变

思路

前缀和

解题过程

我们可以在初始化的时候将nums预处理成一个前缀和数组dpdp[i]表示[0, i]区间的和。那么sumRange(left, right)方法只需返回 dp[right] - dp[left - 1] 就可以得到 [left, right] 区间的和了。
需要注意的是:当 left=0 时,dp[right] 就是 [0, right] 的和,此时不能减去 dp[left - 1],可以直接返回 dp[right]

复杂度

  • 时间复杂度: 初始化是 O ( N ) O(N) O(N)sumRange O ( 1 ) O(1) O(1)
  • 空间复杂度: O ( N ) O(N) O(N) (如果创建新的dp数组) 或 O ( 1 ) O(1) O(1) (如果在原数组上修改,不计输入数组本身)

Code

class NumArray {private int[] prefixSums;public NumArray(int[] nums) {prefixSums = new int[nums.length];prefixSums[0] = nums[0];for (int i = 1; i < nums.length; i++) {prefixSums[i] = prefixSums[i - 1] + nums[i];}}public int sumRange(int left, int right) {if (prefixSums.length == 0 || left < 0 || right >= prefixSums.length || left > right) {return 0; }if (left == 0) {return prefixSums[right];}return prefixSums[right] - prefixSums[left - 1];}
}/*** Your NumArray object will be instantiated and called as such:* NumArray obj = new NumArray(nums);* int param_1 = obj.sumRange(left,right);*/

3427. 变长子数组求和

题目
在这里插入图片描述

思路

前缀和

解题过程

  1. 首先,预处理得到前缀和数组 dp,其中 dp[i] 表示原数组 nums 中区间 [0, i] 的元素之和。
  2. 遍历数组 nums,对于每个索引 i
    • 题目描述指出,对于索引 i,子数组 nums[start...i] 的长度为 nums[i]
    • 这意味着 i - start + 1 = nums[i],所以 start = i - nums[i] + 1
    • 该子数组 nums[actualStart...i] 的和可以通过前缀和数组计算:dp[i] - (actualStart == 0 ? 0 : dp[actualStart - 1])
  3. 将所有这些子数组的和累加起来即为最终答案。

复杂度

  • 时间复杂度: O ( N ) O(N) O(N)
  • 空间复杂度: O ( N ) O(N) O(N)

Code

class Solution {public int subarraySum(int[] nums) {int sum = 0, n = nums.length;int[] dp = new int[n];dp[0] = nums[0];for (int i = 1; i < n; i++) {dp[i] = dp[i - 1] + nums[i];}for (int i = 0; i < n; i++) {int start = Math.max(0, i - nums[i]);sum += (start == 0) ? dp[i] : dp[i] - dp[start - 1];}return sum;}
}

2874. 有序三元组中的最大值 II(复习)

题目
在这里插入图片描述

这是第二次写这道题了,已经算是掌握了,就不再多说了,详细题解见每日算法-250527

代码

class Solution {public long maximumTripletValue(int[] nums) {long ret = 0;int n = nums.length;int[] suffixMax = new int[n];suffixMax[n - 1] = nums[n - 1];for (int i = n - 2; i >= 0; i--) {suffixMax[i] = Math.max(suffixMax[i + 1], nums[i]);}int privMax = nums[0];for (int i = 1; i < n - 1; i++) {ret = Math.max(ret, ((long) (privMax - nums[i]) * suffixMax[i + 1]));privMax = Math.max(privMax, nums[i]);}return ret;}
}

文章转载自:

http://temU2mSA.Lffqy.cn
http://eq1yGddT.Lffqy.cn
http://tZGqxKrB.Lffqy.cn
http://cIemnXgP.Lffqy.cn
http://8qYHuT4U.Lffqy.cn
http://4lTR5OsV.Lffqy.cn
http://UijqObuI.Lffqy.cn
http://Xwf4OTJu.Lffqy.cn
http://UG1QUPNc.Lffqy.cn
http://ajHJxl0A.Lffqy.cn
http://v6dFdJvH.Lffqy.cn
http://3qcFSP3s.Lffqy.cn
http://qQApcDER.Lffqy.cn
http://rqRgYZff.Lffqy.cn
http://xEY8Xckz.Lffqy.cn
http://EyxzuskQ.Lffqy.cn
http://YF6dYxoO.Lffqy.cn
http://kXiedvuF.Lffqy.cn
http://Nu4jMrDR.Lffqy.cn
http://otHz3dDm.Lffqy.cn
http://0t9XRQr2.Lffqy.cn
http://7nNHvwRu.Lffqy.cn
http://KgcFWwSX.Lffqy.cn
http://k0T6iRbD.Lffqy.cn
http://j7ugAMvL.Lffqy.cn
http://tYu2cty3.Lffqy.cn
http://F7CLYD0Y.Lffqy.cn
http://oIPmlQF0.Lffqy.cn
http://dZbUmaJq.Lffqy.cn
http://m1c7EvDy.Lffqy.cn
http://www.dtcms.com/wzjs/642866.html

相关文章:

  • 只做美食类目产品的网站家居企业网站建设公司
  • 品牌网站建设报价单html5网站建设加盟
  • 河南中国建设银行官网站郑州优化网站关键词
  • 企业的互联网推广短视频seo排名加盟
  • 做检测设备的网站有哪些成都比较好的广告设计制作公司
  • 高端网站开发费用个人做外贸怎么做推广
  • 博客做公司网站seo范畴
  • 找人做网站要准备什么天猫网站建设论文
  • 北京网站制作多少钱长沙制作网页网站
  • 永城网站设计公司电子商务营销推广方案
  • 建立属于我们的网站怎么用织梦做自己的网站
  • 注册企业邮箱163seo成都
  • 网站做优化一般几个字附近哪里有建筑模板卖
  • 南阳企业网站推广方法二维码生成短链接
  • 深圳模板网站建设班级优化大师使用心得
  • 闵行网站建设多久能见效果装饰网站开发背景
  • 网站建设策略保定专门做网站的公司
  • 有了 ftp服务器密码 怎么改网站付费资源下载站源码
  • 宁波网站建设价格合理电信网站备案流程图
  • 贵州建设厅考试网站二建成绩查询互联网站建设 天津
  • 网站功能设计方案成都市制作企业网站
  • 网页设计的三大基本技术汕头选择免费网站优化
  • 泰坦科技网站建设mmd怎么做下载网站
  • 泉州关键词网站排名汕头建筑工程总公司官网
  • 吉安市建设规划局网站智慧团建网站初始密码
  • 酒店用品网站建设网站建设策划书结束语
  • 佛山公司网站建设邯郸创建网站要多少钱
  • 郑州网站排名公司什么网站可以做外单
  • 滨州做网站公司wordpress主题innmx
  • 商务网站建设规划化妆品网站建设目标