剑指offer-python刷题-旋转数组的最小数字
发布日期:2021-07-28 12:03:07
浏览次数:5
分类:技术文章
本文共 1041 字,大约阅读时间需要 3 分钟。
题目:旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。刚开始没看懂题目,感觉就是直接判断一个数组中的最小值,因此就直接遍历求列表的最小值了,然后直接通过...
# -*- coding:utf-8 -*-class Solution: def minNumberInRotateArray(self, rotateArray): # write code here if len(rotateArray) == 0: return 0 else: min_num = rotateArray[0] for i in rotateArray: if i < min_num: min_num = i return min_num
翻看讨论区才读懂这个问题,意思就是原本是一串非递减排序的数组,现在把他的前面几个元素直接挪到最后面,但是输入的就相当于两端非递减的。
因此只要找到相邻的两个元素,后一个小于前一个的,那么后一个就是最小的。
# -*- coding:utf-8 -*-class Solution: def minNumberInRotateArray(self, rotateArray): # write code here if len(rotateArray) == 0: return 0 else: for i in range(len(rotateArray)-1): if rotateArray[i] > rotateArray[i+1]: return rotateArray[i+1] return rotateArray[0]
心得:
没看懂题是个很迷的事情
讨论区好多人说做二分查找,只是想找最小值,有必要用二分吗,二分的效率主要体现在:在一个有顺序的数组中找到某个指定的元素...(此观点保留)
转载地址:https://blog.csdn.net/sinat_42437278/article/details/117373645 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月06日 02时23分29秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Javascript到PHP加密通讯的简单实现
2021-06-30
德国SNS交友/视频网站Poppen.de的技术架构分享
2021-06-30
UNIX环境编程
2021-06-30
一笔画问题【数据结构-图论】
2021-06-30
红黑树
2021-06-30
安装多个gcc
2021-06-30
Linux0.01内核根目录Makefile注释
2021-06-30
【CSDN2012年度博客之星】需要您的一票,感谢大家的支持
2021-06-30
PHP对于浮点型的数据需要用不同的方法去解决
2021-06-30
Tokyo Cabinet 安装
2021-06-30
Flink在美团的应用与实践听课笔记
2021-06-30
Java多线程的11种创建方式以及纠正网上流传很久的一个谬误
2021-06-30
JDK源码研究Jstack,JMap,threaddump,dumpheap的原理
2021-06-30
Java使用字节码和汇编语言同步分析volatile,synchronized的底层实现
2021-06-30
javac编译原理和javac命令行的使用
2021-06-30
Unity使用UnityWebRequest实现本地日志上传到web服务器
2021-06-30
Unity使用RenderTexture实现裁切3D模型
2021-06-30
美术和程序吵架,原来是资源序列化格式设置不统一
2021-06-30
Unity iOS接SDK,定制UnityAppController
2021-06-30
Unity iOS接SDK前先要了解的知识(Objective-C)
2021-06-30