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

(leetcode 213 打家劫舍ii)

代码随想录:

将一个线性数组换成两个线性数组(去掉头,去掉尾)

分别求两个线性数组的最大值

最后求这两个数组的最大值

代码随想录视频

#include<iostream>
#include<vector>
#include<algorithm>
//nums:2,1,1,2
//dp:2,2,3,4
using namespace std;

int rop(vector<int> &nums)
{
	
	vector<int>dp(nums.size(), 0);
	dp[0] = nums[0];
	dp[1] = max(nums[1], nums[0]);

	for (int i = 2;i < nums.size();i++)
	{
		dp[i] = max(dp[i - 1], dp[i - 2] + nums[i]);
	}
	return dp[nums.size()-1];
}

int main()
{
	vector<int>nums = { 1,2,3,1 };

	if (nums.size() == 1)
	{
		cout << nums[0];
		return 0;
	}
	if (nums.size() == 2)
	{
		cout << max(nums[0],nums[1]);
		return 0;
	}
	vector<int>nums1(nums.begin() + 0, nums.end() - 1);
	vector<int>nums2(nums.begin() + 1, nums.end());


	cout << max(rop(nums1),rop(nums2));
	return 0;
}


http://www.kler.cn/a/528921.html

相关文章:

  • < OS 有关 > 阿里云 几个小时前 使用密钥替换 SSH 密码认证后, 发现主机正在被“攻击” 分析与应对
  • Office / WPS 公式、Mathtype 公式输入花体字、空心字
  • CSS:跑马灯
  • Python 列表(使用列表时避免索引错误)
  • deepseek核心技术:MLA架构-多头潜在注意力
  • Day28(补)-【AI思考】-AI会不会考虑自己的需求?
  • Games104——游戏引擎Gameplay玩法系统:基础AI
  • 从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(动态菜单组件实现)
  • Dijkstra算法解析
  • 读书笔记-《Redis设计与实现》(一)数据结构与对象(下)
  • 课题介绍:水下惯性/地形组合导航精度提升的理论与方法研究
  • oracle: 多表查询之联合查询[交集intersect, 并集union,差集minus]
  • 环形缓冲区原理与C语言实现ringbuffer
  • 计算满足特定条件的素数在全体素数中的密度极限值,并将该极限值乘以10^7后向下取整的解题思路
  • Python3 【装饰器】项目实战:5个新颖的学习案例
  • 说说Redis的内存淘汰策略?
  • TVM调度原语完全指南:从入门到微架构级优化
  • 【Rust自学】18.3. 模式(匹配)的语法
  • 【漫话机器学习系列】073.黑塞矩阵(Hessian Matrix)
  • python算法和数据结构刷题[4]:查找算法和排序算法
  • Versal - 基础4(VD100+Versal IBERT)
  • C++解决输入空格字符串的三种方法
  • 智慧园区管理系统推动企业智能运维与资源优化的全新路径分析
  • 【Leetcode 热题 100】64. 最小路径和
  • 图书管理系统 Axios 源码__编辑图书
  • 增删改查(CRUD)操作