ezd-417,电子元件知识,触目惊鲨
如果数组是单调递增或单调递减的,那么它是单调的。
如果对于所有 i <= j
,a[i] <= a[j]
,那么数组 a
是单调递增的。 如果对于所有 i <= j
,a[i]> = a[j]
,那么数组 a
是单调递减的。
当给定的数组 a
是单调数组时返回 true
,否则返回 false
。
示例 1:
输入:[1,2,2,3] 输出:true
示例 2:
输入:[6,5,4,4] 输出:true
示例 3:
输入:[1,3,2] 输出:false
示例 4:
输入:[1,2,4,5] 输出:true
示例 5:
输入:[1,1,1] 输出:true
提示:
1 <= a.length <= 50000
-100000 <= a[i] <= 100000
#解题思路: 排序list有内置函数sort,不过sort他默认是递增,这里我们可以对要验证的列表进行切片旋转
class solution: def ismonotonic(self, a: list[int]) -> bool: import copy a_2 = copy.deepcopy(a) a_2.sort() if a_2 == a or a_2 == a[::-1]: return true else: return false
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2]
示例 2:
输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [4,9]
说明:
进阶:
根据题意走没什么特别的思路
class solution: def intersect(self, nums1: list[int], nums2: list[int]) -> list[int]: new_list = [] if len(nums1) <len(nums2): for a in nums1: if a in nums2: new_list.append(a) nums2.remove(a) else: for a in nums2: if a in nums1: new_list.append(a) nums1.remove(a) return new_list
给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:
如果一个学生的出勤记录中不超过一个'a'(缺勤)并且不超过两个连续的'l'(迟到),那么这个学生会被奖赏。
你需要根据这个学生的出勤记录判断他是否会被奖赏。
示例 1:
输入: "ppallp" 输出: true
示例 2:
输入: "ppalll" 输出: false
#a大于1肯定没有奖励 #a小于1有l超过连续两次为没有奖励 #其他情况均为有奖励
class solution: def checkrecord(self, s: str) -> bool: s_dict = dict() if s.count('a') > 1: return false else: for a in range(2,len(s)) : if s[a]==s[a-1]==s[a-2]: if s[a] not in s_dict: s_dict[s[a]] = 1 if s_dict.get('l')== 1: break if s_dict.get('l',0) == 1: return false else: return true
有更加好的思路,或者解题方法评论区留言谢谢
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python爬虫:Request Payload和Form Data的简单区别说明
浅谈Python中threading join和setDaemon用法及区别说明
Python3-异步进程回调函数(callback())介绍
python继承threading.Thread实现有返回值的子类实例
Python中使用threading.Event协调线程的运行详解
网友评论