题目

给你一个数组 nums 。nums 的源数组中,所有元素与 nums 相同,但按非递减顺序排列。
如果 nums 能够由源数组轮转若干位置(包括 0 个位置)得到,则返回 true ;否则,返回 false 。
源数组中可能存在 重复项 。
注意:我们称数组 A 在轮转 x 个位置后得到长度相同的数组 B ,当它们满足 A[i] == B[(i+x) % A.length] ,其中 % 为取余运算。
示例 1:
输入:nums = [3,4,5,1,2]
输出:true
解释:[1,2,3,4,5] 为有序的源数组。
可以轮转 x = 3 个位置,使新数组从值为 3 的元素开始:[3,4,5,1,2] 。
示例 2:
输入:nums = [2,1,3,4]
输出:false
解释:源数组无法经轮转得到 nums 。
示例 3:
输入:nums = [1,2,3]
输出:true
解释:[1,2,3] 为有序的源数组。
可以轮转 x = 0 个位置(即不轮转)得到 nums 。
示例 4:
输入:nums = [1,1,1]
输出:true
解释:[1,1,1] 为有序的源数组。
轮转任意个位置都可以得到 nums 。
示例 5:
输入:nums = [2,1]
输出:true
解释:[1,2] 为有序的源数组。
可以轮转 x = 5 个位置,使新数组从值为 2 的元素开始:[2,1] 。
提示:
1 <= nums.length <= 100
1 <= nums[i] <= 100
来源:力扣(LeetCode)

解题思路

  先找出数组中最小元素的下标。最小元素可能不止一个,我们选择一个元素作为开头循环遍历整个数组查看若以当前最小值开端是否能够组成递增序列。如果存在一个开头遍历能够使得数组以递增顺序进行,那么可以判断改数组成立。

class Solution:def check(self, nums: List[int]) -> bool:MIN=min(nums)temp=[]for i in range(len(nums)):if nums[i]==MIN:temp.append(i)def match(MIN):for i in range(MIN,MIN+len(nums)-1):if nums[i%len(nums)]>nums[(i+1)%len(nums)]:return Falsereturn Truereturn True if all([not match(i) for i in temp])==False else False

LeetCode简单题之检查数组是否经排序和轮转得到相关推荐

  1. LeetCode简单题之有序数组中出现次数超过25%的元素

    题目 给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%. 请你找到并返回这个整数 示例: 输入:arr = [1,2,2,6,6,6,6,7,10 ...

  2. LeetCode简单题之检查字符串是否为数组前缀

    题目 给你一个字符串 s 和一个字符串数组 words ,请你判断 s 是否为 words 的 前缀字符串 . 字符串 s 要成为 words 的 前缀字符串 ,需要满足:s 可以由 words 中的 ...

  3. LeetCode简单题之检查两个字符串数组是否相等

    题目 给你两个字符串数组 word1 和 word2 .如果两个数组表示的字符串相同,返回 true :否则,返回 false . 数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串. ...

  4. LeetCode简单题之统计数组中峰和谷的数量

    题目 给你一个下标从 0 开始的整数数组 nums .如果两侧距 i 最近的不相等邻居的值均小于 nums[i] ,则下标 i 是 nums 中,某个峰的一部分.类似地,如果两侧距 i 最近的不相等邻 ...

  5. LeetCode简单题之检查句子中的数字是否递增

    题目 句子是由若干 token 组成的一个列表,token 间用 单个 空格分隔,句子没有前导或尾随空格.每个 token 要么是一个由数字 0-9 组成的不含前导零的 正整数 ,要么是一个由小写英文 ...

  6. LeetCode简单题之检查整数及其两倍数是否存在

    题目 给你一个整数数组 arr,请你检查是否存在两个整数 N 和 M,满足 N 是 M 的两倍(即,N = 2 * M). 更正式地,检查是否存在两个下标 i 和 j 满足: i != j 0 < ...

  7. LeetCode简单题之有序数组的平方

    题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1, ...

  8. LeetCode简单题之寻找数组的中心下标

    题目 给你一个整数数组 nums ,请计算数组的 中心下标 . 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和. 如果中心下标位于数组最左端,那么左侧数之和视为 0 ...

  9. LeetCode简单题之检查是否区域内所有整数都被覆盖

    题目 给你一个二维整数数组 ranges 和两个整数 left 和 right .每个 ranges[i] = [starti, endi] 表示一个从 starti 到 endi 的 闭区间 . 如 ...

最新文章

  1. 《Linux内核分析》实验一
  2. 在ubuntu16.04中一键创建LAMP环境 新系统
  3. ABAP程序设计的一点建议
  4. rJava安装及Java 开发R
  5. android daemon 程序,(转)Android App Daemon
  6. 最新Oracle 和 mysql 的对比参照----开发篇(转)
  7. java中简单的if语句_java中if语句的写法
  8. 佳能g3800故障灯说明书_虎林2020定制FW6117移动工作灯
  9. 成功在中东和北非地区发布应用或游戏的 7 个技巧
  10. 清卡时提示“增值税未申报或未比对”
  11. 大数据薪水大概多少_大数据工资一般多少
  12. 因果分析系列2--随机试验
  13. 【网络安全】文件上传漏洞 详解
  14. 诺基亚的最后机会:没落贵族能否抗衡苹果安卓
  15. 手握多样算力,从容面对下一代互联网的百样创新
  16. Android 根据角度旋转图片
  17. 《数据挖掘导论(完整版)》习题答案导航_补档
  18. 微信小程序中使用 iconfont 图标的四种方法
  19. 推荐几个epub转mobi的软件给你
  20. 判断胎儿性别的方法???(

热门文章

  1. 苹果设备iphone,ipad,macbook网络连接慢,开机开什么卡什么,一步解决
  2. 2022-2028年中国EBA树脂(乙烯丙烯酸丁酯)产业竞争现状及发展前景规划报告
  3. Redis 笔记(11)— 文本协议 RESP(单行、多行字符串、整数、错误、数组、空值、空串格式、telnet 登录 redis)
  4. OpenCV 笔记(05)— opencv.hpp 头文件作用(是其它所有头文件的全集)
  5. RabbitMQ 入门系列(1)— Ubuntu 安装 RabbitMQ 及配置
  6. Python 生成器总结
  7. Docker 入门系列(2)- Docker 镜像, 免 sudo 使用 docker 命令、获取查看、修改镜像标签、查找删除创建镜像、导入导出镜像
  8. Django学习之路(一)--初识django
  9. 掩码语言模型(Masked Language Model)mlm
  10. 函数的渐近的界阶的比较