leetcode 3.5

普通数组

1.最大子数组和

最大子数组和
前缀和pre + 动态规划
pre保留的是当前包含了当前遍历的最大的前缀和,如果之前的pre 对结果有增益效果,则 pre 保留并加上当前遍历, 如果pre 对结果无增益效果,需要舍弃,则 pre 直接更新为当前遍历数字;
每次比较 pre 和 maxAns的大小,将最大值置为maxAns,遍历结束返回结果。
时间复杂度:O(n)

class Solution {
public:int maxSubArray(vector<int>& nums) {int n = nums.size();if (n == 1) return nums[0];int pre = 0, maxAns = nums[0];for (int i = 0; i < n; i++) {pre = max(pre + nums[i], nums[i]);maxAns = max(maxAns, pre);}return maxAns;}
};

普通数组

1.除自身以外数组的乘积

前缀和 * 后缀和
前缀和 = 前一个元素 * 前两个元素前缀和
用一个遍历来跟踪右边元素的乘积。并更新数组 answer[i]=answer[i]∗R。然后 R 更新为 R=R∗nums[i],其中变量 R 表示的就是索引右侧数字的乘积。

class Solution {
public:vector<int> productExceptSelf(vector<int>& nums) {int n = nums.size();vector<int> ans(n, 1);int pre = 1, back = 1;for (int i = 1; i < n; i++) {ans[i] *= nums[i - 1] * ans[i - 1];}for (int i = n - 2; i >= 0; i--) {back *= nums[i + 1];ans[i] *= back;}return ans;}
};

矩阵

1.矩阵置零

矩阵置零
先用两个for记录出现0的行和列,再用两个for去标记出现0的所有行列元素
时间复杂度:O(mn),其中 mmm 是矩阵的行数,nnn 是矩阵的列数。我们至多只需要遍历该矩阵两次。
空间复杂度:O(m+n),其中 mmm 是矩阵的行数,nnn 是矩阵的列数。我们需要分别记录每一行或每一列是否有零出现。

class Solution {
public:void setZeroes(vector<vector<int>>& matrix) {int n = matrix.size();int m = matrix[0].size();vector<int> row(n, 0), col(m, 0);for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (matrix[i][j] == 0)row[i] = col[j] = 1; }}for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (row[i] || col[j])matrix[i][j] = 0;}}}
};

2.螺旋矩阵

可以将矩阵看成若干层,首先输出最外层的元素,其次输出次外层的元素,直到输出最内层的元素。
在这里插入图片描述

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {int n = matrix.size();int m = matrix[0].size();vector<int> ans;int u = 0, d = n - 1;int l = 0, r = m - 1;while (true) {//左->右for (int i = l; i <= r; i++) {ans.push_back(matrix[u][i]);}u++;if (u > d) break;//上->下for (int i = u; i <= d; i++) {ans.push_back(matrix[i][r]);}r--;if(r < l) break;//右->左for (int i = r; i >= l; i--) {ans.push_back(matrix[d][i]);}d--;if(d < u) break;//下->上for (int i = d; i >= u; i--) {ans.push_back(matrix[i][l]);}l++;if(l > r) break;}return ans;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/513816.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【BUG】Windows状态栏总卡死解决办法

屋漏偏逢连夜雨&#xff0c;正在赶deadline呢&#xff0c;Windows状态老卡死&#xff0c;一时间崩溃。 解决办法&#xff1a; 右键状态栏新闻和咨询关掉 这个烧笔新闻与资讯我真服了

MATLAB报错:尝试将 SCRIPT imread 作为函数执行

报错&#xff1a; 在执行matlab脚本的时候出现报错。 >> imread 尝试将 SCRIPT imread 作为函数执行: S:\temp_file\matlab\DigitalImageProcessing\imread.m出错 imread (line 2) I imread(S:\temp_file\matlab\DigitalImageProcessing\blueman.png);分析以及解决方…

splay学习笔记重制版

以前写的学习笔记&#xff1a;传送门 但是之前写的比较杂乱&#xff0c;这里重制一下 问题背景 假设我们要维护一个数据结构&#xff0c;支持插入、删除、查询某个值的排名&#xff0c;查询第 k k k大的值等操作。 最直接的想法是用二叉搜索树&#xff0c;也就是左子树权值&l…

小迪安全32WEB 攻防-通用漏洞文件上传二次渲染.htaccess变异免杀

#知识点&#xff1a; 1、文件上传-二次渲染 2、文件上传-简单免杀变异 3、文件上传-.htaccess 妙用 4、文件上传-PHP 语言特性 #详细点&#xff1a; 1、检测层面&#xff1a;前端&#xff0c;后端等 2、检测内容&#xff1a;文件头&#xff0c;完整性&#xff0c…

安装完NGINX 已经正常启动,用IP访问显示的是Welcome to CentOS?

下头Nginx 以前配置服务器难道配置完nginx默认访问80端口进入不应该是欢迎来到nginx吗&#xff0c;nono变了 nginx变了 现在默认访问就是Welcome to CentOS 你的配置没有问题 只要你能访问 就行 直接改成你的项目地址就ok了

【自然语言处理】NLP入门(四):1、正则表达式与Python中的实现(4):字符串常用函数

文章目录 一、前言二、正则表达式与Python中的实现1.字符串构造2. 字符串截取3. 字符串格式化输出4.字符转义符ASCII编码5. 字符串常用函数a. 字符串长度&#xff1a;len()b. max() 和 min()c. Unicode码转换&#xff1a;ord()和chr()d. 进制转换函数函数与方法之比较 一、前言…

CSS定位,React面试题总结

CSS简介 CSS是层叠样式表&#xff08;Cascading Style Sheets&#xff09;的简称。 作用&#xff1a; 用于HTML文档中元素的样式定义实现内容&#xff08;html元素&#xff09;与表现&#xff08;css样式&#xff09;的分离实现代码的可重用性和可维护性 CSS主要部分&#…

音视频开发之旅——音频基础概念、交叉编译原理和实践(LAME的交叉编译)(Android)

本文主要讲解的是音频基础概念、交叉编译原理和实践&#xff08;LAME的交叉编译&#xff09;&#xff0c;是基于Android平台&#xff0c;示例代码如下所示&#xff1a; AndroidAudioDemo 音频基础概念 在进行音频开发的之前&#xff0c;了解声学的基础还是很有必要的。 声音…

HCIA-Datacom题库(自己整理分类的)_38_IPv6多选【20道题】

1.IPV6地址包含以下哪些类型&#xff1f; 任播地址 组播地址 单播地址 广播地址 2.IPv6有以下哪几种地址&#xff1f; 任播地址 链路本地地址 组播地址 单播地址 广播地址 3.下面关于IPv6描述正确的是&#xff1f; IPv6的地址长度为128bits IPv6的地址长度为64bit…

SAP Business Intelligence(BO)-Overview

BI 启动板 BI 平台包括BI 启动板。BI 启动板是一款Web 应用程序&#xff0c;相当于外界了解公司业务信息的窗口。在BI 启动板中&#xff0c;可访问Crystal 报表、Web Intelligence 文档和其他对象&#xff0c;并按照您的需求组织这些对象。 WebI Web Intelligence的缩写。We…

42岁前TVB女星近况曝光,曾因山头靠不住被雪藏兼生意失败

自从2021年前TVB高层余咏珊倒台离巢后&#xff0c;大批「余派」被雪藏&#xff0c;随即跟着走人&#xff0c;今年42岁的「元老级是非精」梁嘉琪就是其中之一。 梁嘉琪在离巢后就重新签约有线做回老本行主持节目&#xff0c;去年3月又与森美、小仪主持商台903节目《早霸王》&…

5G智能制造热力工厂数字孪生可视化平台,推进热力行业数字化转型

5G智能制造热力工厂数字孪生可视化平台&#xff0c;推进热力行业数字化转型。在当今这个信息化、数字化的时代&#xff0c;热力生产行业也迎来了转型的关键时刻。为了提升生产效率、降低成本、提高产品质量&#xff0c;越来越多的热力生产企业开始探索数字化转型之路。而5G智能…