题目要求: 题目一: 1.有一个长度为n+1的整型数组中有所有数字都在1~n范围内的数组 2.找出数组中任意一个重复的数字3.不允许修改原始数组思路1:浪费时间的算法 时间复杂度为O(logn) 空间复杂度为O(1) 1.题目说明数组中肯定存在重复的数字 B.采用二分查找法,将总范围划分为左右两个范 ...
分类:
编程语言 时间:
2018-01-07 14:07:12
阅读次数:
134
1.现在有n个List tuple (具体形式是 List((date:String,value:Double))) 2.其中部分可能缺失 一个或者两个tuple 但至少有一个list是完整的 3.找出缺失的date string补回相对应的,并在value处填回0 4.时间复杂度 和 空间复杂度尽 ...
分类:
其他好文 时间:
2018-01-06 15:50:25
阅读次数:
125
时间复杂度: 1,时间频度(Tn):不能计算需上机测试,一个算法中语句执行次数称为语句频度或时间频度。一个算法花费时间与算法中语句执行次数成正比。 2,时间复杂度0((fn)):当问题规模(n)不断变化,时间频度T(n)也不断变化.而时间复杂度是描述他们之间关系的函数. 3, 常见的复杂度:常数阶0 ...
分类:
其他好文 时间:
2018-01-06 12:00:39
阅读次数:
111
一、定义 二维线段树,即用线段树维护一个矩阵 有两种实现方式: 1、原一维线段树的基础上,每一个节点都是一个线段树,代表第二维 下图是一个4*4矩阵 2、四分法转化为一维线段树 两种方法的空间复杂度都是n*n*log^2 第一种方法单次操作的时间复杂度是log^2,第二种方法最差可以退化到n 一维线 ...
分类:
其他好文 时间:
2018-01-01 20:39:20
阅读次数:
199
https://leetcode.com/problems/increasing-triplet-subsequence/description/ 题目如下: 题意很明确,在一个序列里确认三元递增子序列的存在性。限制O(n)的时间复杂度和O(1)的空间复杂度。 方法:O(n)的时间复杂度,这往往通过 ...
分类:
其他好文 时间:
2018-01-01 19:26:21
阅读次数:
150
内容: 主要介绍数据结构及算法的基础知识,一些基本的概念和术语,以及算法的定义、算法的特性、算法的时间复杂度和空间复杂度 注: 该系列下的数据结构及算法的代码主要采用C语言的语法,但是因为要使用到C++的一些特性(引用类型和bool类型),代码均将存为cpp源文件! 1. 数据结构: 数据结构是计算 ...
分类:
编程语言 时间:
2018-01-01 13:23:31
阅读次数:
244
一、堆排序算法的基本特性时间复杂度:O(nlgn)...//等同于归并排序最坏:O(nlgn)空间复杂度:O(1).不稳定。 二、堆与最大堆的建立要介绍堆排序算法,咱们得先从介绍堆开始,然后到建立最大堆,最后才讲到堆排序算法。 2.1、堆的介绍 如下图, a),就是一个堆,它可以被视为一棵完全二叉树 ...
分类:
编程语言 时间:
2018-01-01 11:46:41
阅读次数:
177
持续更新中... 1.k-近邻算法 优势:精度高、对异常值不敏感、无数据输入设定 缺点:计算复杂度高、空间复杂度高 适用数据范围:数值型和标称型 适用场景: 2.ID3决策树算法 优势:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据 劣势:可能会产生过度匹配问题 适用 ...
分类:
编程语言 时间:
2017-12-30 13:21:40
阅读次数:
147
类似算法总结 1、静态整体Kth 滑稽吧...sort一遍就好了。 时间复杂度$O(nlogn)$ 空间复杂度$O(n)$ 2、动态整体Kth 离散化后开一棵权值线段树,每个位置的值表示这个位置对应的那个数(离散化后的)有多少个,向上维护和; 查询时先查询左子树和sum,比较k和sum的大小:若k ...
分类:
其他好文 时间:
2017-12-29 23:35:32
阅读次数:
228
1. 原题链接 https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/ 2. 题目要求 给定一个已经排序的整数数组nums[ ],返回除去重复元素后的数组长度 注意:不能重新创建一个数组,空间复杂度 ...
分类:
其他好文 时间:
2017-12-29 12:24:45
阅读次数:
185