题目
给出一个有序数列随机旋转之后的数列,如原有序数列为:[0,1,2,4,5,6,7] ,旋转之后为[4,5,6,7,0,1,2]。
假定数列中无重复元素,且数列长度为奇数。
求出旋转数列的中间值。如数列[4,5,6,7,0,1,2]的中间值为4。
输入

4,5,6,7,0,1,2

输出

4

输入样例
1
1,2,3
4,5,6,7,0,1,2
12,13,14,5,6,7,8,9,10
输出样例
1
2
4
9

方法1 排序后直接取。

def solution(line):
#line = "4,5,0,1,2"
array = list(line.split(",")).sort()
return array[len(array)/2]

方法2 不排序,找出旋转的点直接取到中间值。

def solution(line):
# 缩进请使用 4 个空格,遵循 PEP8 规范
array = list(line.split(","))
head = int(array[0])
array_len = len(array)
for i in range(array_len):
if int(array[i]) < head:
break
if i == array_len - 1:
return(array[array_len/2])
else:
if i <= array_len/2:
return(array[array_len/2+i])
else:
return(array[i-array_len/2-1])

参考:

https://blog.csdn.net/weixin_39789689/article/details/82291870

找出旋转有序数列的中间值python实现的更多相关文章

  1. [小米OJ] 5. 找出旋转有序数列的中间值

    排序,输出 #include <bits/stdc++.h> using namespace std; int main() { string input; while (cin > ...

  2. 找出numpy array数组的最值及其索引

    在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where ...

  3. 一起来刷《剑指Offer》——不修改数组找出重复的数字(思路及Python实现)

    数组中重复的数字 在上一篇博客中<剑指Offer>-- 题目一:找出数组中重复的数字(Python多种方法实现)中,其实能发现这类题目的关键就是一边遍历数组一边查满足条件的元素. 然后我们 ...

  4. 一起来刷《剑指Offer》-- 题目一:找出数组中重复的数字(Python多种方法实现)

    数组中重复的数字 最近在复习算法和数据结构(基于Python实现),然后看了Python的各种"序列"--比如列表List.元组Tuple和字符串String,后期会写一篇博客介绍 ...

  5. 【LeetCode】Search in Rotated Sorted Array——旋转有序数列找目标值

    [题目] Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...

  6. 找出Java数组中不同的值

    public void deltp(PrintWriter out) { try{ PageData pd = new PageData(); pd = this.getPageData(); Str ...

  7. python找出字典中value最大值的几种方法

    假设定义一字典,m = {"a":3,"e":6,"b":2,"g":7,"f":7,"c ...

  8. Leetcode33--->Search in Rotated Sorted Array(在旋转数组中找出给定的target值的位置)

    题目: 给定一个旋转数组,但是你不知道旋转位置,在旋转数组中找出给定target值出现的位置:你可以假设在数组中没有重复值出现 举例: (i.e., 0 1 2 4 5 6 7 might becom ...

  9. leetcode实践:找出两个有序数组的中位数

    题目 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 代码实现 package com. ...

随机推荐

  1. #淘宝#复制分享宝贝内容,打开淘宝APP,自己主动弹出宝贝提示信息

    场景描写叙述: 淘宝复制连接,分享出去,比方拷贝到QQ好友.微信好友,一个宝贝信息.然后你朋友长按复制你分享它了的这个宝贝.当然打开手机淘宝时.自己主动会跳出宝贝的信息,点击确定能够直接进入宝贝详情 ...

  2. Laravel之队列

    一.配置 队列配置文件存放在config/queue.php .在该文件中你将会找到框架自带的每一个队列驱动的连接配置,包括数据库.Beanstalkd. IronMQ. Amazon SQS. Re ...

  3. vi 替换操作

    举例一: ,$s/// 从第一行到最后一行 147都替换为150 举例二: 例:替换当前文件中所有old为new :%s/old/new/g #%表示替换说有行,g表示替换一行中所有匹配点. 举例三: ...

  4. Odoo 8,9,10 制造领料、入库 实践

    Odoo12 已经支持在 同一个仓库内,使用 投入/产品 库位, 不必采用本文的方法     Odoo 设计在 仓库/库存 进行生产,也就是 在 仓库/库存 领料,产出, 例如     如果要实现一般 ...

  5. Java注解基本介绍

    注解(Annotation),又称元数据(MetaData),提供了一种在代码中添加信息的形式化的方法,将元数据和源代码结合在一起. 1. 外部配置文件如XML存在的问题: 代码复杂度较高,需要编写很 ...

  6. Eclipse.ini参数设置

    最近Eclipse不知道是由于项目过多还是其他原因导致Eclipse进程容易卡死,一卡死Workspace保存出错,项目就全都不见了,又得重新导入...鉴于此原因,自己也上网查询了相关资料,现整理如下 ...

  7. Android开发之Conversion to Dalvik format failed问题解决

    [2014-4-21 21:28:06 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the ...

  8. Hadoop datanode无法启动

    原因是多次 hadoop namenode -format  导致 datanode 的version 里的Cluster-Id 不一致 这个Cluster-Id的位置在:  自己设置的数据临时文件/ ...

  9. Android採用async框架实现文件上传

    页面效果 须要的权限 <uses-permission android:name="android.permission.INTERNET"/> 网络訪问权限; 布局文 ...

  10. SecureCRT 设置字体跟颜色

    SecureCRT 绝佳配色方案, 保护你的眼睛 分类: Linux 软件使用2013-05-17 08:45 24038人阅读 评论(11) 收藏 举报 SecureCRT 绝佳配色方案, 保护你的 ...