Binary Indexed Tree 空间复杂度O(N),查询时间复杂度O(lgN). 其中每个元素,存储的是数组中一段的和。 ...
分类:
其他好文 时间:
2018-05-27 17:18:52
阅读次数:
182
原理还是非常简单的:将前面的数组元素翻转,再将后面的数组元素翻转,最后将整个数组元素翻转#include <iostream>#define N 100using namespace std;void Reverse(int l,int r,int* array){ double mid=(l+r) ...
分类:
移动开发 时间:
2018-05-26 01:14:25
阅读次数:
193
原文:https://blog.csdn.net/zolalad/article/details/11848739 博主:zolalad 通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算 ...
分类:
编程语言 时间:
2018-05-25 21:14:48
阅读次数:
196
//归并排序 //是一种稳定的排序方法//时间复杂度为nlog2(n)//空间复杂度为O(n) package mergesort; import java.util.Arrays; public class TestMergeSort { //归并排序 public static void mer ...
分类:
编程语言 时间:
2018-05-20 15:31:30
阅读次数:
167
中英题面 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 Sort a linked list in O(n log n) time using constant space complexity. 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 ...
分类:
编程语言 时间:
2018-05-20 10:40:58
阅读次数:
226
要求:时间复杂度为O(n),空间复杂度为O(1) 1、找出次数超过1/2的数 遍历数组num,每次删除两个不同的数,最后剩下的数字便是所求,因为个数超过一半的数字是不会被消除完的。 比如:1 2 1 1 3 第一步:删掉1,2,剩1 1 3 第二步:因为1 1相同,只保留一个到候选集,剩1 3 删掉 ...
分类:
其他好文 时间:
2018-05-19 23:22:32
阅读次数:
724
题目分析: 很无聊的一道题目。首先区间内单点对应异或值的询问容易想到trie树。由于题目在树上进行,case1将路径分成两段,然后dfs的时候顺便可持久化trie树做询问。case2维护dfs序,对dfs序建可持久化的trie树。这样做的空间复杂度是O(nw),时间复杂度是O(nw). 代码: ...
分类:
其他好文 时间:
2018-05-19 12:59:15
阅读次数:
165
问题描述 给定一个数组,从 1 到 n,找出数组中第一个没出现的正数。 例如: 给定 ,则返回 3。 给定 ,则返回 2。 注意:算法需要 O(n) 的时间复杂度以及线性的空间复杂度。 输入格式 第一行输入整数 n(n≤106),接下来一行输入数组 。 输出格式 输出第一个没出现的正数。 代码 j ...
分类:
其他好文 时间:
2018-05-18 20:41:26
阅读次数:
240
问题描述: Given a singly linked list, determine if it is a palindrome. Example 1: Example 2: 我的思路: 现将链表里的值存储到一个vector中,然后在对vector从两边向中心对比,空间复杂度为O(n), 时间复杂 ...
分类:
其他好文 时间:
2018-05-17 11:50:26
阅读次数:
160
Python实现morris,kmp,判断一个二叉树T1是否是另一颗二叉树T2的子树。时间复杂度O(N),空间复杂度O(1) ...
分类:
编程语言 时间:
2018-05-16 15:38:09
阅读次数:
213