2024/4/2—力扣—连续数列

代码实现:

思路:最大子数组和

解法一:动态规划

#define max(a, b) ((a) > (b) ? (a) : (b))int maxSubArray(int* nums, int numsSize) {if (numsSize == 0) { // 特殊情况return 0;}int dp[numsSize];dp[0] = nums[0];int result = dp[0];for (int i = 1; i < numsSize; i++) {dp[i] = max(dp[i - 1] + nums[i], nums[i]); // 状态转移方程result = max(result, dp[i]); // result 保存dp[i]的最大值}return result;
}

解法二:贪心

int maxSubArray(int *nums, int numsSize) {int result = INT32_MIN;int count = 0;for (int i = 0; i < numsSize; i++) {count += nums[i];if (count > result) { // 取区间累计的最大值(相当于不断确定最大子序终止位置)result = count;}if (count <= 0) {count = 0; // 相当于重置最大子序起始位置,因为遇到负数一定是拉低总和}}return result;
}

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

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

相关文章

【二分查找】Leetcode 寻找峰值

题目解析 162. 寻找峰值 题目中有一个很重要的提示&#xff1a;对所有有效的i都存在nums[i] ! nums[i1],因此这道题不需要考虑nums[mid] 和 nums[mid1]之间的相等与否的关系 算法讲解 1. 暴力枚举 我们按照顺序判断每个数字是否是当前的峰值&#xff0c;如果是直接返回&#…

网络基础——vrrp

前言&#xff1a;除了一个MPLS这个协议&#xff0c;其他的协议都差不多会在后面介绍&#xff0c;但是MPLS却不会介绍&#xff0c;因为自己本人学的不是很好&#xff0c;而且在企业网中&#xff0c;接触的机会也更少&#xff0c;除非是做ISP网络的&#xff0c;下面会先介绍VRRP和…

【4月最新】低至50/年,4G 618/3年 云服务器价格即将回调 ,搭建网站 博客 Linux练习 比虚拟机方便 附阿里云 京东云 腾讯云对比表

更新日期&#xff1a;4月8日&#xff08;半年档 价格回调&#xff0c;京东云采购季持续进行&#xff09; 本文纯原创&#xff0c;侵权必究 《最新对比表》已更新在文章头部—腾讯云文档&#xff0c;文章具有时效性&#xff0c;请以腾讯文档为准&#xff01; 【腾讯文档实时更…

金蝶BI方案的报表,主打做得快、易理解

金蝶做数据分析报表慢、步骤多、数据不够直观&#xff1f;但奥威-金蝶BI方案的报表就不一样了&#xff0c;不仅做得快&#xff0c;还十分好理解&#xff0c;因为它做出来的是随时可以按需自助的BI智能数据可视化分析报表。 有多快&#xff1f; 注册奥威BI SaaS平台&#xff0…

2024/4/1—力扣—主要元素

代码实现&#xff1a; 思路&#xff1a;摩尔投票算法 int majorityElement(int *nums, int numsSize) {int candidate -1;int count 0;for (int i 0; i < numsSize; i) {if (count 0) {candidate nums[i];}if (nums[i] candidate) {count;} else {count--;}}count 0;…

谷歌seo最新优化方案是怎样的?

自从AI的出现&#xff0c;人们惊叹于AI的便利性&#xff0c;乃至网站内容都在使用AI更新&#xff0c;然而就在这个月&#xff0c;谷歌公布了最新的算法&#xff0c;这次更新真的是给了SEO界一个大震撼&#xff0c;尤其是对于那些依赖AI内容生成的网站来说&#xff0c;谷歌这次是…

Docker 集成 redis,并在nacos进行配置时需要注意点

安装redis镜像 docker pull redis:6.0.6redis配置文件 创建相关配置文件 mkdir /apps/redis cd /apps/redis touch redis.conf vim redis.confredis.conf内容&#xff1a; #开启保护 protected-mode yes #开启远程连接 bind 0.0.0.0 #自定义密码 port 6379 timeout 0 # 900s内…

快速为App打造Android端聊天室,节省80%开发成本(一)

前言 环信 ChatroomUIKit 提供 UIKit 的各种组件&#xff0c;能帮助开发者根据实际业务需求快速搭建聊天室应用&#xff0c;有效节约开发成本&#xff01;通过该 UIKit&#xff0c;聊天室中的用户可实时交互&#xff0c;发送普通弹幕消息、打赏消息和全局广播等功能。 本文详…

基于Socket简单的UDP网络程序

⭐小白苦学IT的博客主页 ⭐初学者必看&#xff1a;Linux操作系统入门 ⭐代码仓库&#xff1a;Linux代码仓库 ❤关注我一起讨论和学习Linux系统 1.前言 网络编程前言 网络编程是连接数字世界的桥梁&#xff0c;它让计算机之间能够交流信息&#xff0c;为我们的生活和工作带来便利…

【ESP32】调试总结

文章目录 1. 问题1&#xff1a;Invalid image block&#xff0c; cant boot2. 问题2&#xff1a;task_wdt: Task watchdog got triggered 1. 问题1&#xff1a;Invalid image block&#xff0c; cant boot 现象 ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x7 (TG0WDT_SY…

C++基础 命名空间、作用域、引用、结构体

0、前言 文章内容主要讲解C区别于C的部分。 1、命名空间 1.1 定义 命名空间&#xff08;Namespace&#xff09;是C中用来避免命名冲突并组织代码的一种机制。通过将代码放置在命名空间中&#xff0c;可以将不同部分的代码分隔开来&#xff0c;从而提高代码的可读性和可维护…

rsync + inotify 上行同步

一 上行同步相关概念 1&#xff0c;上行同步是什么 上行同步是指从本地&#xff08;发起端&#xff09;向远程&#xff08;同步源&#xff09;服务器推送数据的过程。在这种模式下&#xff1a; 本地机器作为数据的源头&#xff0c;通常包含需要更新或备份到远程服务器的…