![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法日常
数据结构与算法日常记录
三年二班cn
c
展开
-
洛谷P5369
理解为当前我要使集合s满足性质1, 我可以枚举s中那个数放在最左边, 假设是a[i], 那么剩下的集合为 s^i , 如果Sum(s^i)原创 2024-05-24 23:07:23 · 776 阅读 · 1 评论 -
最长小于等于k的子数组
问题描述:给定一个无序数组arr,其中元素可正、可负、可0。给定一个整数k,求arr所有的子数组中累加和小于或等于k的最长子数组长度例如:arr = [3, -2, -4, 0, 6], k = -2. 相加和小于等于-2的最长子数组为{3, -2, -4, 0},所以结果返回4[要求]时间复杂度为𝑂(𝑛),空间复杂度为𝑂(𝑛)输入描述:第一行两个整数N, k。N表示数组长度,k的定义已在题目描述中给出第二行N个整数表示数组内的数输出描述:输出一个整数表示答案。原创 2024-05-07 22:34:18 · 166 阅读 · 0 评论 -
单调栈结构
【代码】单调栈结构。原创 2023-05-26 22:44:03 · 70 阅读 · 1 评论 -
用一个栈实现另一个栈的排序
由以上两个约束条件,可以一直往help栈中加入stack中的元素,并且维持help栈由栈顶到栈底递增排序(排序过程与插入排序类似),直到stack栈空,其元素已在help栈中排好序,在从顶到底压回satck栈,排序完成。2、help不空,且cur大于help栈顶元素,则将help.top元素弹出并压入stack,直到cur小于等于help.top或者help弹空(目的是为了给cur找个合适的位置压入),再将cur压入help。一个栈中元素的类型为整形,现想将栈从顶到底按从大到小排序,只允许申请一个栈。原创 2023-05-22 23:28:28 · 66 阅读 · 1 评论 -
如何使用递归函数和栈操作逆序一个栈
一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底依次为1,2,3,4,5,也就是实现栈中元素的逆序,但是只能使用递归函数来实现,不能使用其他数据结构。原创 2023-05-22 22:01:40 · 43 阅读 · 1 评论