程序设计算法
文章平均质量分 79
Chenguanxixixi
这个作者很懒,什么都没留下…
展开
-
LeetCode307 区域和检索 - 数组可修改
题目介绍给你一个数组 nums ,请你完成两类查询。其中一类查询要求 更新 数组 nums 下标对应的值另一类查询要求返回数组 nums 中索引 left 和索引 right 之间( 包含 )的nums元素的 和 ,其中 left <= right实现 NumArray 类: - NumArray(int[] nums) 用整数数组 nums 初始化对象 - void update(int index, int val) 将 nums[index] 的值 更新 为 val - int原创 2022-04-04 23:06:57 · 1064 阅读 · 3 评论 -
C++ STL实现栈和队列
在C++标准库(STL)中,实现了栈和队列,方便使用1,栈(stack):头文件 : #include<stack>定义栈 :stack<Type> s; 其中Type为数据类型(如 int,float,char)。主要操作:s.push(item); //将item压入栈顶s.pop(); //删除栈顶的元素,但不会返回s.top(); //返回栈顶的元素,但不会删除s.size(); //返回栈中元素的个数s.empty(); //检查栈是否为空,如果为空返回t原创 2022-03-15 15:32:00 · 506 阅读 · 2 评论 -
动态规划——背包问题九解(01背包)
01背包问题问题有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000原创 2021-09-05 11:32:44 · 735 阅读 · 2 评论 -
LeetCode198打家劫舍(动态规划)+ 返回最优路径
题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例和解释输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。题目分析Step1:定原创 2021-08-09 16:46:40 · 1962 阅读 · 5 评论