class Solution { public boolean containsNearbyAlmostDuplicate(int[] nums, int k, int t) { /** * 本题与219题仅在判断部分有改动 * 时间复杂度O(nlogn) 空间复杂度O(k) */ TreeSet< ...
分类:
其他好文 时间:
2020-12-18 12:10:35
阅读次数:
4
// 空间复杂度:O(1) // 时间复杂度:是一个算法执行所耗费的时间 // 空间复杂度:运行完一个程序所需要的内存大小 // 稳定性:如果a=b,a在b的前面,排序后a仍然在b的前面 // 不稳定性:如果a=b,a在b的前面,排序后a和b可能交换位置 //基础冒泡写法 时间复杂度O(n*n) v ...
分类:
编程语言 时间:
2020-12-17 12:07:46
阅读次数:
1
第四讲 排序 4.1 巨经典的排序算法 1. 冒泡排序(很简单) 平均时间复杂度 O(n^2) ,空间复杂度 O(1),稳定 基本思想 两个数比较大小,较大的数下沉,较小的数冒起来。 演示(图片来自菜鸟教程) 代码 /** * 冒泡排序 * @param array 待排序的数组 */ public ...
分类:
编程语言 时间:
2020-12-04 11:29:30
阅读次数:
5
###题目 1389. Create Target Array in the Given Order ###解题方法 创建一个新数组rat,将nums中的数按照index的位置插入rat即可。 时间复杂度:O(n*n) 空间复杂度:O(n) ###代码 class Solution: def cre ...
分类:
其他好文 时间:
2020-12-04 11:06:02
阅读次数:
6
###题目 1287. Element Appearing More Than 25% In Sorted Array ###解题方法 遍历数组,找到出现次数最多的那个数即可。 时间复杂度:O(n) 空间复杂度:O(1) ###代码 class Solution: def findSpecialIn ...
分类:
移动开发 时间:
2020-11-30 15:53:35
阅读次数:
10
非商业,LeetCode链接附上: https://leetcode-cn.com/problems/find-lucky-integer-in-an-array/ 进入正题。 题目: 在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。 给你一个整数数组 arr, ...
分类:
编程语言 时间:
2020-11-26 15:13:13
阅读次数:
5
思路 方法一:二分 遍历每个数字num,然后再在后面的数字中使用二分查找target-num。 复杂度分析 时间复杂度:O(nlogn) 空间复杂度:O(1) 1 class Solution { 2 public: 3 vector<int> twoSum(vector<int>& nums, i ...
分类:
其他好文 时间:
2020-11-19 12:17:07
阅读次数:
4
思路 方法一:二分法之一 (类似暴力) (1) 用二分法找到第一个target所在的位置 (2) 之后在此位置前后顺序查找依次计数target的出现次数 复杂度分析 时间复杂度:最坏情况下O(n) 空间复杂度:O(1) ...
分类:
编程语言 时间:
2020-11-16 13:13:01
阅读次数:
7
思路 比较明显的动态规划问题。状态转移方程为:f(x, y) = grid(x,y) + max {f(x-1,y), f(x, y-1)} 。 优化:这里不使用额外的数组f,而就地更改grid数组,可以将空间复杂度降为O(1)。 1 class Solution { 2 public: 3 int ...
分类:
其他好文 时间:
2020-11-13 13:08:20
阅读次数:
7
题目描述:在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 O(nlogn)的时间复杂度第一时间就是归并排序了,然后要常数级空间,那就不能用递归。 原地归并 public ListNode sortList(ListNode head) { //如果只有一个节点直接返回 i ...
分类:
编程语言 时间:
2020-11-11 15:53:14
阅读次数:
6