原文:Leetcode练习(python):第414题:第三大的数:给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。

题目: 第三大的数:给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O n 。 示例 : 输入: , , 输出: 解释: 第三大的数是 .示例 : 输入: , 输出: 解释: 第三大的数不存在, 所以返回最大的数 .示例 : 输入: , , , 输出: 解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。存在两个值为 的数,它们都排第二。 ...

2020-05-28 19:12 0 658 推荐指数:

查看详情

Leetcode练习(Python):数组类:第34给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组不存在目标值,返回 [-1, -1]。

题目: 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组不存在目标值,返回 [-1, -1]。 思路:二分法,使用一个指针来找到数字的开头和结尾位置 ...

Sat Apr 18 23:01:00 CST 2020 0 1577
给定一个长度为N数组,找出出现次数大于n/2,n/3的要求时间复杂度On),空间复杂度O(1)

  先讨论出现次数大于n/2的数字,如果这样的数字存在,那么这个数出现的次数大于其他数出现的次数的总和。 在数组A,我们定义两个数据集合a1,a2。a1为出现次数大于n/2的的集合,a2为其余数组成的集合。对于数组 A中元素a、b,假设a不等于b,那么有两种情况,分别为:a属于a1,b属于 ...

Fri Nov 01 04:59:00 CST 2019 0 300
Leetcode练习(Python):数组类:第209给定一个含有 n 个正整数的数组一个正整数 s ,找出该数组满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组返回 0。

题目: 给定一个含有 n 个正整数的数组一个正整数 s ,找出该数组满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组返回 0。 进阶: 如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂度的解法 思路 ...

Sun Apr 26 03:07:00 CST 2020 0 1854
Leetcode练习(Python):数组类:第53给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回最大和。进阶: 如果你已经实现复杂度O(n) 的解法,尝试使用更为精妙的分治法求解。

题目: 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回最大和。进阶: 如果你已经实现复杂度O(n) 的解法,尝试使用更为精妙的分治法求解。 思路:贪心法和分而治之 程序1:贪心发 class Solution ...

Mon Apr 20 18:49:00 CST 2020 0 1477
Leetcode练习(Python):数组类:第41:给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。你的算法时间复杂度应为O(n),并且只能使用常数级别的额外空间。

题目:给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。你的算法时间复杂度应为O(n),并且只能使用常数级别的额外空间。 思路:第一个思路是创建一个锚点,这个锚点表示第一个正整数的出现的位置,然后再分情况来判断,结果程序无法通过所有的测试用例,第一个思路方法以后再实现 ...

Mon Apr 20 01:04:00 CST 2020 0 1076
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM