初识python 交叉排序

原创 2016年06月02日 00:41:14

好吧,断断续续的在计蒜客上学了几次python,感觉语法很反人类,虽然当年刚从pascal转到c的时候也觉得c的语法很繁琐,不过好歹c的编译器都很nice,debug强大,但是在ubuntu下用sublime进行debug简直是噩梦(好吧,其实只是自己太懒又太水不愿意又不会写插件……)

最近想了想以后大概的方向,可能也就是机器学习或者是计算机图形这两大块了……在数学系想要去跟cs的人比项目估计是不太可能的了……在大一还是先把语言基础学好吧……


放上计蒜客上的一道最基础的题目……


  •  1000ms
  •  5000K

输入一行 k 个用空格分隔开的整数,依次为 n1, n2 … nk。请将所有下标不能被 3 但可以被 2 整除的数在这些数字原有的位置上进行升序排列,此外,将余下下标能被 3 整除的数在这些数字原有的位置上进行降序排列。

输出包括一行,与输入相对应的若干个整数,为排序后的结果,整数之间用空格分隔。

样例输入

1 5 4 3 10 7 19

样例输出

1 3 7 5 10 4 19

提示信息

请注意,题面中的下标是从 1 开始的哦!

# coding=utf-8
list=[]
for x in raw_input().split():
    list.append(int(x))  
cnt=len(list)
ll=cnt
list1=[]
list2=[]
list3=[]
for i in range(1,len(list)+1):
    if(i%2==0 and i%3!=0):
      list1.append(list[i-1])
    elif (i%3==0):
      list2.append(list[i-1])  
    else:
      list3.append(list[i-1])
list1.sort()
list2.sort(reverse = True)
lista=[]
for i in range(1,cnt+1):
    if((i)%2==0 and (i)%3!=0):
        lista.append(list1.pop(0))
    elif (i%3==0):
       lista.append(list2.pop(0))
    else :
       lista.append(list3.pop(0))
for i in range(0,cnt):
    print lista[i],

    

好吧,虽然是道最水的题目……


版权声明:本文为博主原创文章,未经博主允许不得转载。

Python 交叉排序题

在计蒜客遇到的一道题: 输入一行 k 个用空格分隔开的整数,依次为 n1, n2 … nk。请将所有下标不能被 3 但可以被 2 整除的数在这些数字原有的位置上进行升序排列,此外,将余下下标能被 3...

zqoj 1812: sort 【sort排序(字符串处理)(有疑问)】

1812: sort Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 177  Solved: 34 SubmitStatusWeb Bo...
  • dxx_111
  • dxx_111
  • 2015年12月11日 21:03
  • 204

hexo入门学习(四):文章(带图片)

欢迎查看我的个人博客,由于hexo和CSDN的图片存储不同在此无法体现,但是也可以同步到七牛云。在后面的文章会介绍到。...

fontawesome图标字体库组件在服务器上显示不出来图标的解决

这个组件在我所开发的网站中被大量使用,为网站增色不少。在本地测试的时候所有图标都能显示出来,可一到服务器上就显示不出来了。网上查列出了可能的原因。其一,IIS没有注册字体类型。经过检查,不存在这个问题...
  • sxf359
  • sxf359
  • 2017年07月31日 15:33
  • 1583

CCM交叉社区挖掘的初识认识

《An introduction to the special issue on cross-community mining》这篇文章主要讲述了CCM领域包含的4大方面,并列举该领域中存在的六大问题...

快速排序的初识(附C代码)

今天看了一则关于排序算法中的快速排序。我将用自己的语言结合代码描述一下这个算法! 冒泡排序的时间复杂度达到了O(N2)。假如我们的计算机每秒钟可以运行10亿次(1Ghz),那么对1亿个数进行排序,桶...

J2SE-选择排序法初识

如果说循环加数组是绝配的话,那么排序算法则是这二者结合之后的完美体现了。在学习J2SE的时候,在数组这一章提前接触到了“排序算法”,感觉好玩,就总结一下。     下面仅仅针对“选择排序”这一个部分进...

<JAVA> 初识Map -->排序

常用的Map: HashMap:我们最常用的Map,它根据key的HashCode 值来存储数据,根据key可以直接获取它的Value,同时它具有很快的访问速度。HashMap最多只允许一条记录的...

平衡二叉树 STL multiset初识 再加上自定义的排序方法。

#include #include #include //使用multiset和set需要此文件 using namespace std; int main() { multisets...

机器学习实战_初识决策树(ID3)算法_理解其python代码(二)

python递归构建决策树:Python 基础: count()方法: Python count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。 示例:>>...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初识python 交叉排序
举报原因:
原因补充:

(最多只允许输入30个字)