找出旋转有序数列的中间值python实现
题目
给出一个有序数列随机旋转之后的数列,如原有序数列为:[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实现的更多相关文章
- [小米OJ] 5. 找出旋转有序数列的中间值
排序,输出 #include <bits/stdc++.h> using namespace std; int main() { string input; while (cin > ...
- 找出numpy array数组的最值及其索引
在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where ...
- 一起来刷《剑指Offer》——不修改数组找出重复的数字(思路及Python实现)
数组中重复的数字 在上一篇博客中<剑指Offer>-- 题目一:找出数组中重复的数字(Python多种方法实现)中,其实能发现这类题目的关键就是一边遍历数组一边查满足条件的元素. 然后我们 ...
- 一起来刷《剑指Offer》-- 题目一:找出数组中重复的数字(Python多种方法实现)
数组中重复的数字 最近在复习算法和数据结构(基于Python实现),然后看了Python的各种"序列"--比如列表List.元组Tuple和字符串String,后期会写一篇博客介绍 ...
- 【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 ...
- 找出Java数组中不同的值
public void deltp(PrintWriter out) { try{ PageData pd = new PageData(); pd = this.getPageData(); Str ...
- python找出字典中value最大值的几种方法
假设定义一字典,m = {"a":3,"e":6,"b":2,"g":7,"f":7,"c ...
- Leetcode33--->Search in Rotated Sorted Array(在旋转数组中找出给定的target值的位置)
题目: 给定一个旋转数组,但是你不知道旋转位置,在旋转数组中找出给定target值出现的位置:你可以假设在数组中没有重复值出现 举例: (i.e., 0 1 2 4 5 6 7 might becom ...
- leetcode实践:找出两个有序数组的中位数
题目 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 代码实现 package com. ...
随机推荐
- SQLite使用事务
关键代码 SQLiteDatabase db = myDataHelper.getWritableDatabase(); // 开启事务 db.beginTransaction(); try{ db. ...
- springboot缓存及连接池配置
参见https://coding.imooc.com/lesson/117.html#mid=6412 1.springboot的springweb自己默认以及配置好了缓存,只需要在主文件(XxxAp ...
- Android错误之--Error retrieving parent for item: No resource found that matches the given name 'Theme.A
错误提示:error: Error retrieving parent for item: No resource found that matches the given name 'Theme.A ...
- 【Android开发-6】了解内情,我们须要一些调试和測试手段
前言:人生不可能十全十美,总会有些遗憾存在,经历过遗憾,我们才懂的什么是生活. 程序也一样.追求完美,就必定会有经历bug存在的时候. 经历过不断的bug磨练.我们技术才会不断的成长.对于调试bug, ...
- Install Erlang and Elixir in CentOS 7
In this tutorial, we will be discussing about how to install Erlang and Elixir in CentOS 7 minimal s ...
- Unable to connect to a repository at URL 解决方法
提示"Unable to connect to a repository at URL 'svn://localhost/project1/'" or “Can't connect ...
- mac 下 pycharm 快捷键
用过快捷键立即感觉高大上了,最主要的是很方便啊!很强大 cmd b 跳转到声明处(cmd加鼠标) opt + 空格 显示符号代码 (esc退出窗口 回车进入代码) cmd []光标之前/后的位置 op ...
- Caused by: java.lang.ClassNotFoundException: Didn't find class "** *** ** **" on path: DexPathList[[zip file "/data/app/*** *** ***-2/base.apk"],nativeLibraryDirectories
Caused by: java.lang.ClassNotFoundException: Didn't find class "** *** ** **" on path: Dex ...
- Linux系统控制文件 /etc/sysctl.conf详解
/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sysctl.conf参数解释: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...
- CSRF介绍与应对以及Java代码示例
详细信息看这里:https://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/ 简介 CSRF(Cross Site Request Forg ...