Python实现翻转数组功能示例

本文实例讲述了Python实现翻转数组功能。分享给大家供大家参考,具体如下:

题目描述

给定一个长度为n的整数数组a,元素均不相同,问数组是否存在这样一个片段,只将该片段翻转就可以使整个数组升序排列。其中数组片段[l,r]表示序列a[l], a[l+1], ..., a[r]。原始数组为
a[1], a[2], ..., a[l-2], a[l-1], a[l], a[l+1], ..., a[r-1], a[r], a[r+1], a[r+2], ..., a[n-1], a[n],
将片段[l,r]反序后的数组是
a[1], a[2], ..., a[l-2], a[l-1], a[r], a[r-1], ..., a[l+1], a[l], a[r+1], a[r+2], ..., a[n-1], a[n]。

输入

第一行数据是一个整数:n (1≤n≤105),表示数组长度。
第二行数据是n个整数a[1], a[2], ..., a[n] (1≤a[i]≤109)。

输出

输出“yes”,如果存在;否则输出“no”,不用输出引号。

样例输出
yes

样例输入
4
2 1 3 4

实现代码:

while 1:
  n = int(raw_input())
  x = raw_input()
  break
x = [int(i) for i in x.split()]
y = [i for i in x]
y.sort()
partx = [x[i] for i in range(n) if x[i]!=y[i]]
party = [y[i] for i in range(n) if x[i]!=y[i]]
party.reverse()
if partx == party:
  print "yes"
else:
  print "no"

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

您可能感兴趣的文章:

  • python将字符串转换成数组的方法
  • python对数组进行反转的方法
  • python字符串str和字节数组相互转化方法
  • python实现将元祖转换成数组的方法
  • Python实现字符串与数组相互转换功能示例
  • Python中列表list以及list与数组array的相互转换实现方法
  • Python 初始化多维数组代码
  • python实现合并两个数组的方法
  • Python列表list数组array用法实例解析
  • python简单获取数组元素个数的方法
  • python遍历数组的方法小结
  • python获得两个数组交集、并集、差集的方法
(0)

相关推荐

  • python将字符串转换成数组的方法

    python将字符串转换成数组的方法.分享给大家供大家参考.具体实现方法如下: #----------------------------------------- # Name: string_to_array.py # Author: Kevin Harris # Last Modified: 02/13/04 # Description: This Python script demonstrates # how to modify a string by # converting it

  • python字符串str和字节数组相互转化方法

    实例如下: # bytes object b = b"example" # str object s = "example" # str to bytes bytes(s, encoding = "utf8") # bytes to str str(b, encoding = "utf-8") # an alternative method # str to bytes str.encode(s) # bytes to str

  • Python 初始化多维数组代码

    Python中初始化一个5 x 3每项为0的数组,最好方法是: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->multilist = [[0 for col in range(5)] for row in range(3)]我们知道,为了初始化一个一维数组,我们可以这样做: Code highlighting produced by Actip

  • Python中列表list以及list与数组array的相互转换实现方法

    本文实例讲述了Python中list以及list与array的相互转换实现方法.分享给大家供大家参考,具体如下: python中的list是一种有序集合,可以随时增删元素: # -*- coding: utf-8 -*- frameID = 1 frameID_list = [] frameID_list.append(frameID) print (frameID_list) frameID = 2 frameID_list.append(frameID) print (frameID_lis

  • python实现将元祖转换成数组的方法

    本文实例讲述了python实现将元祖转换成数组的方法.分享给大家供大家参考.具体分析如下: python的元祖使用一对小括号表示的,元素是固定的,如果希望添加新的元素,可以先将元祖转换成数组列表,再进行操作 colour_tuple = ("Red","Green","Blue") colour_list = list(colour_tuple) assert colour_list == ["Red","Green

  • python简单获取数组元素个数的方法

    本文实例讲述了python简单获取数组元素个数的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: mySeq = [1,2,3,4,5]  print len(mySeq) 运行结果如下: 5 希望本文所述对大家的Python程序设计有所帮助.

  • python对数组进行反转的方法

    本文实例讲述了python对数组进行反转的方法.分享给大家供大家参考.具体实现方法如下: arr = [1,2,3] arr.reverse() print(arr) 输出: [3,2,1] 希望本文所述对大家的Python程序设计有所帮助.

  • Python实现字符串与数组相互转换功能示例

    本文实例讲述了Python实现字符串与数组相互转换功能.分享给大家供大家参考,具体如下: 字符串转数组 str = '1,2,3' arr = str.split(',') print a 运行结果: 数组转字符串 #方法1 arr = ['a','b'] str1 = ','.join(arr) print str1 #方法2 arr = [1,2,3] #str = ','.join(str(i) for i in arr)#此处str命名与str函数冲突! str2 = ','.join(

  • python遍历数组的方法小结

    本文实例总结了python遍历数组的方法.分享给大家供大家参考.具体分析如下: 下面介绍两种遍历数组的方法,一种是直接通过for in 遍历数组,另外一种是通过rang函数先获得数组长度,在根据索引遍历数组 第一种,最常用的,通过for in遍历数组 colours = ["red","green","blue"] for colour in colours: print colour # red # green # blue 下面的方法可以先获

  • python实现合并两个数组的方法

    本文实例讲述了python实现合并两个数组的方法.分享给大家供大家参考.具体如下: python合并两个数组,将两个数组连接成一个数组,例如,数组 a=[1,2,3] ,数组 b=[4,5,6],连接后:[1,2,3,4,5,6] 方法1 a=[1,2,3] b=[4,5,6] a=a+b 方法2 a=[1,2,3] b=[4,5,6] a.extend(b) 希望本文所述对大家的Python程序设计有所帮助.

  • Python列表list数组array用法实例解析

    本文以实例形式详细讲述了Python列表list数组array用法.分享给大家供大家参考.具体如下: Python中的列表(list)类似于C#中的可变数组(ArrayList),用于顺序存储结构.   创建列表 复制代码 代码如下: sample_list = ['a',1,('a','b')] Python 列表操作 复制代码 代码如下: sample_list = ['a','b',0,1,3] 得到列表中的某一个值 复制代码 代码如下: value_start = sample_list

  • python获得两个数组交集、并集、差集的方法

    本文实例讲述了python获得两个数组交集.并集.差集的房部分.分享给大家供大家参考.具体如下: 1. 获取两个list 的交集 #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print tmp #[2, 5] #方法二 print list(set(a).intersection(set(b))) 2. 获取两个list 的并集 print list(set(a).union(set(b))) 3. 获取两个

随机推荐