博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Code Signal_练习题_almostIncreasingSequence
阅读量:5735 次
发布时间:2019-06-18

本文共 1189 字,大约阅读时间需要 3 分钟。

Given a sequence of integers as an array, determine whether it is possible to obtain a strictly increasing sequence by removing no more than one element from the array.

Example

    • For sequence = [1, 3, 2, 1], the output should be

      almostIncreasingSequence(sequence) = false.

      There is no one element in this array that can be removed in order to get a strictly increasing sequence.

    • For sequence = [1, 3, 2], the output should be

      almostIncreasingSequence(sequence) = true.

      You can remove 3 from the array to get the strictly increasing sequence [1, 2]. Alternately, you can remove 2 to get the strictly increasing sequence [1, 3]

 

 

我的解答: 

1 想半天想不出来,通过查阅各个大佬的做法,发现用这种方法的挺多2 def almostIncreasingSequence(sequence):3     count = 04     for i in range(len(sequence)-1):5         if i+1 < len(sequence) and sequence[i] >= sequence[i+1]:6             count += 17         if i+2 < len(sequence) and sequence[i] >= sequence[i+2]:8             count += 19     return count < 3

 

膜拜大佬:

上个代码还能看懂,这个来自捷克共和国的一位大佬的代码真懵了..啥题都能一行代码解决...def almostIncreasingSequence(s):    return 3> sum((i >= j) + (i >= k) for i, j, k in zip(s, s[1:], s[2:] + [10**6]))
View Code

 

转载于:https://www.cnblogs.com/BlameKidd/p/9348528.html

你可能感兴趣的文章
确定当前记录和下一条记录之间相差的天数
查看>>
sql语句返回主键SCOPE_IDENTITY()
查看>>
机器学习开源项目精选TOP30
查看>>
代码分析系列 内存执行过程
查看>>
iOS开发-邮件发送
查看>>
/etc/resolv.conf文件详解
查看>>
【转】VC的MFC中重绘函数的使用总结(整理)
查看>>
JQuery日记_5.13 Sizzle选择器(六)选择器的效率
查看>>
System.gc()与Object.finalize()的区别
查看>>
oracle查看经常使用的系统信息
查看>>
Django_4_视图
查看>>
Linux的netstat命令使用
查看>>
shell实例100例《五》
查看>>
lvm讲解,磁盘故障小案例
查看>>
24.5 saltstack远程执行命令
查看>>
大快网站:如何选择正确的hadoop版本
查看>>
经过这5大阶段,你离Java程序员就不远了!
查看>>
Nginx配置文件相关操作
查看>>
IntelliJ IDEA 连接数据库详细过程
查看>>
thymeleaf 学习笔记-基础篇
查看>>