两个数组的交集
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了两个数组的交集,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1238字,纯文字阅读大概需要2分钟。
内容图文
349. 两个数组的交集
题目描述:
给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。
让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:
- A.length >= 3
在 0 < i < A.length - 1 条件下,存在 i 使得:
A[0] < A[1] < ... A[i-1] < A[i]
A[i] > A[i+1] > ... > A[A.length - 1]
from typing import List
class Solution:
def validMountainArray(self, A: List[int]) -> bool:
if len(A) < 3:
return False
minA = 0
maxA = 0
index = 0
for i in range(len(A)):
if i != len(A) - 1 and A[i] < A[i+1]:
if maxA != 0:
return False
minA += 1
elif i != len(A) - 1 and A[i] > A[i+1]:
if index == 0:
index = i
if minA == 0 or minA != index:
return False
maxA += 1
elif i != len(A) - 1 and A[i] == A[i+1]:
return False
if maxA == 0:
return False
return True
if __name__ == '__main__':
test = Solution()
# nums = [14,82,89,84,79,70,70,68,67,66,63,60,58,54,44,43,32,28,26,25,22,15,13,12,10,8,7,5,4,3]
nums = [0,1,2,4,2,1]
result = test.validMountainArray(nums)
print(result)
自己的想法:
使用一个min 和max 的记录,记录当前的比他小的有几个,再通过一个峰顶的index下标对minA进行比较,来判断,下山之后是否又存在上山
- 对于单面山进行判断,如[0,1,2] ,不是山
为什么error:
- 排序之后数组大小还是可能会不一致
解题思路:
列表去重 去重之后就自动排序了
感想:
没有优化,谁都打不败!
内容总结
以上是互联网集市为您收集整理的两个数组的交集全部内容,希望文章能够帮你解决两个数组的交集所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。