查看: 1564| 回复: 3
跳转到指定楼层
上一主题 下一主题
收起左侧

面试题

🔗
clseer | 只看该作者 |倒序浏览
全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 clseer 于 2013-11-19 10:10 编辑

给定一个正整数数组,所有元素大小随机,现求一个最小k,使所有元素加k或者减k(或者不变)后,构成一个严格递增序列

上一篇:sorting之类的算法应该提前记住吗?
下一篇:图论,网络流,字符串相关代码实现
🔗
kang1415926 2013-11-19 10:17:53 | 只看该作者
全局:
请问一下楼主,这样的情形合题意吗:
原数组:[1, 0, 9, 2, 3],k=4,新数组:[1-4, 0, 9-4, 2+4, 3+4]=[-3, 0, 5, 6, 7]是不是不行?虽然做到了严格递增,但是数组不是正整数数组啊

个人觉得如果要求是正整数组的话,不一定有必然解啊……
回复

使用道具 举报

🔗
北美农民 2013-11-19 10:33:40 | 只看该作者
全局:
感觉如果输入是一个 严格的降序数组, 当长度为4的时候就无解了。

假设 a, b, c, d 其中 a > b > c > d

若要求使得递增, 那么要使得b大于a必须要通过b比a多加k来完成, 要使得c大于b必须通过c比b多加k完成, 这里a和c就产生2k的差距了, 只能通过
a-k, b, c + k来实现, 但是再要使得d再大于c就无解了。
回复

使用道具 举报

🔗
readman 2013-11-28 13:12:25 | 只看该作者
全局:
简化楼上思想: 数组[0,0,0,0] k取什么。。第一个0 最小是0-k,第二个只能是0不变,第三个是0+k。。最后一个怎么办。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表