社区
C++ 语言
帖子详情
数组中删除最少数目的元素使其剩余元素先严格单调递增后严格单调递减
shun_qizi_ran
2011-04-22 12:51:04
昨天参加了一个笔试,最后一道笔试题目:
在一个数组中删除最少数目的元素使其剩余元素先严格单调递增后严格单调递减(假设如果数组本身是严格单调的也符合条件)
例如:9,5,6,7,5,6,5,3,1
可删除9和5(第二个)即可:5,6,7,6,5,3,1
感觉挺复杂的,不知哪位大师给点指导
...全文
1408
9
打赏
收藏
数组中删除最少数目的元素使其剩余元素先严格单调递增后严格单调递减
昨天参加了一个笔试,最后一道笔试题目: 在一个数组中删除最少数目的元素使其剩余元素先严格单调递增后严格单调递减(假设如果数组本身是严格单调的也符合条件) 例如:9,5,6,7,5,6,5,3,1 可删除9和5(第二个)即可:5,6,7,6,5,3,1 感觉挺复杂的,不知哪位大师给点指导
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Dylan326-QAZ
2011-10-19
打赏
举报
回复
lz可以这样考虑
首先折点不确定 需要循环试 设为a[i]
那么左侧0~i 求出最长递增子序列(动态规划方法)
i~a.length-1 求出最长递减子序列(动态规划方法)
循环执行上述过程 返回剔除后的数组长度
长度最长即为所需
shun_qizi_ran
2011-04-22
打赏
举报
回复
继续考虑……
shun_qizi_ran
2011-04-22
打赏
举报
回复
[Quote=引用 3 楼 majia2011 的回复:]
memmove
没看出来哪里复杂,貌似很多人只会memcpy
[/Quote]
什么意思呢?
pathuang68
2011-04-22
打赏
举报
回复
[Quote=引用 5 楼 woweiwokuang0000 的回复:]
引用 1 楼 pathuang68 的回复:
这题不难。
楼主给出的示例结果:5,6,7,6,5,3,1
既谈不上严格(所谓严格就是不能有重复的数字),也谈不上递增或者递减。
9,5,6,7,5,6,5,3,1删除最少的数字,使其严格单调的话,结果应该是:
9,5,6,7,5,6,5,3,1
你没看清楚题目啊,是结果里面前面一部分严格递增,后一部分严格递减
[/Quote]
嗯,你说的对,的确没有看清楚。
shun_qizi_ran
2011-04-22
打赏
举报
回复
[Quote=引用 1 楼 pathuang68 的回复:]
这题不难。
楼主给出的示例结果:5,6,7,6,5,3,1
既谈不上严格(所谓严格就是不能有重复的数字),也谈不上递增或者递减。
9,5,6,7,5,6,5,3,1删除最少的数字,使其严格单调的话,结果应该是:
9,5,6,7,5,6,5,3,1
[/Quote]
你没看清楚题目啊,是结果里面前面一部分严格递增,后一部分严格递减
zc806
2011-04-22
打赏
举报
回复
[Quote=引用楼主 woweiwokuang0000 的回复:]
昨天参加了一个笔试,最后一道笔试题目:
在一个数组中删除最少数目的元素使其剩余元素先严格单调递增后严格单调递减(假设如果数组本身是严格单调的也符合条件)
例如:9,5,6,7,5,6,5,3,1
可删除9和5(第二个)即可:5,6,7,6,5,3,1
感觉挺复杂的,不知哪位大师给点指导
[/Quote]
不对吧,LZ的意思是去除最少的数,然后让数组,递增之后又是递减。
我想了个办法,先将各个递增或递减的数组反拆出来,然后对比相邻数组的首和尾大小,删除数组SIZE小的首或者尾即可
majia2011
2011-04-22
打赏
举报
回复
memmove
没看出来哪里复杂,貌似很多人只会memcpy
pathuang68
2011-04-22
打赏
举报
回复
[Quote=引用 1 楼 pathuang68 的回复:]
这题不难。
楼主给出的示例结果:5,6,7,6,5,3,1
既谈不上严格(所谓严格就是不能有重复的数字),也谈不上递增或者递减。
9,5,6,7,5,6,5,3,1删除最少的数字,使其严格单调的话,结果应该是:
9,5,6,7,5,6,5,3,1
[/Quote]
sorry,标记错了,应该是
9,
5,6,
7,
5,
6,5,3,1
pathuang68
2011-04-22
打赏
举报
回复
这题不难。
楼主给出的示例结果:5,6,7,6,5,3,1
既谈不上严格(所谓严格就是不能有重复的数字),也谈不上递增或者递减。
9,5,6,7,5,6,5,3,1删除最少的数字,使其严格单调的话,结果应该是:
9,
5,6,
7,
5,6,
5,3,1
ismonotonic:确定向量或矩阵是
单调
递增
还是
递减
。-matlab开发
默认情况下,对于非
严格
单调
向量,ISMONOTONIC 返回 true, 以及
单调
递增
和
单调
递减
的向量。 为了矩阵和 ND 数组,ISMONOTONIC 为中的每一列返回一个值X。 ISMONOTONIC(X, 1) 的工作原理如上,但仅在 X 为
严格
单调
...
2020 CSP-S 第1轮 初赛 第 17 题 二、阅读程序题 第2题.pdf
3) 单选题3:当输入的d[i]是
严格
单调
递增
序列时,第17行的“swap”平均执行次数。答案是O(logn)的平方,因为在
递增
序列中,每次划分后交换次数为logn,所以平均执行次数为(logn)^2。 4) 单选题4:当输入的d[i]是...
如何学习
单调
栈
单调
队列 的算法
单调
递增
栈中,栈顶
元素
总是最小的,而
单调
递减
栈的栈顶
元素
总是最大的。
单调
栈的主要应用场景包括在
数组中
寻找每一个
元素
左边或右边第一个更大或更小的
元素
。由于
单调
栈可以在线性时间内完成这些操作,因此它在解决...
线性结构-
单调
栈与
单调
队列.rar
当新的
元素
入栈时,如果它小于栈顶
元素
,那么栈仍然保持
单调
递增
;如果它大于栈顶
元素
,则栈保持
单调
递减
。这样,栈内始终保持着一个
单调
递增
或
递减
的顺序。
单调
栈常用于求解最值问题,例如求解一个
数组中
的最大值或...
acm 寻找
单调
数 算法
如果栈中仍有
元素
,但所有
元素
都小于最后一个
元素
,说明数组可以调整为
单调
递减
。这种方法的时间复杂度也是O(n),但空间复杂度可能高于线性扫描。 在`Single.java`文件中,可能实现的就是上述的一种或多种算法。...
C++ 语言
65,189
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章