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

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

Some people are standing in a row in a park. There are trees between them which cannot be moved. Your task is to rearrange the people by their heights in a non-descending order without moving the trees. People can be very tall!

Example

For a = [-1, 150, 190, 170, -1, -1, 160, 180], the output should be

sortByHeight(a) = [-1, 150, 160, 170, -1, -1, 180, 190].

 

 

我的解答:

1 def sortByHeight(a): 2     j = -2 3     y = 0 4     li = [] 5     if -1 not in a: 6         a = sorted(a) 7     else: 8         for i in a: 9             if i == -1:10                 pass11             else:12                 li.append(i)13                 a[a.index(i)] = j14                 j -= 115         li = sorted(li)16         for x in a:17             if x != -1:18                 a[a.index(x)] = li[y]19                 y += 120     return a

感觉自己总是不按常规出牌

 

膜拜大佬:

1 def sortByHeight(a):2 3     l = sorted([i for i in a if i > 0])4     for n,i in enumerate(a):5         if i == -1:6             l.insert(n,i)7     return l
View Code

 

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

你可能感兴趣的文章
openstack 源码分析
查看>>
idea 使用maven plugin tomcat 运行正常,无法进入debug模式
查看>>
Classification Truth Table
查看>>
JVM学习:对象的创建和内存分配
查看>>
C++ 静态变量 全局变量 const
查看>>
vs 高级保存选项的设置
查看>>
Java读取文本指定的某一行内容的方法
查看>>
软件工程敏捷开发04
查看>>
Practise Site Home Sample Page Codes de carte cadeau Amazon | Codes Promo Amazon
查看>>
linux c下输入密码不回显
查看>>
在Linux命令行下发送html格式的邮件
查看>>
说说PHP中foreach引用的一个坑
查看>>
基于express框架的应用程序骨架生成器介绍
查看>>
Spring学习11-Spring使用proxool连接池 管理数据源
查看>>
2016第6周五
查看>>
ASP.NET 免费开源控件
查看>>
面向对象葵花宝典阅读思维导图(二)
查看>>
volatile关键字与线程间通信
查看>>
优秀大数据GitHub项目一览
查看>>
TCP/IP详解学习笔记(8)-DNS域名系统
查看>>