码迷,mamicode.com
首页 >  
搜索关键字:复杂度    ( 16171个结果
Leetcode 线性表 Remove Duplicates from Sorted List II
题意:将已排序的链表中所有重复的元素移除 思路: 三个个指针,pre, cur, next 一个布尔变量is_appear,表示cur指针指向的值之前是否已经出现过 检查cur, next指向的节点的值是否相同, 相同的话,删除cur 不同的话,如果is_appear为true,删除cur,否则不删除 删除的话,只移动cur, next指针 不删除的话,要移动pre, cur, next三个指针 复杂度:时间O(n),空间O(1)...
分类:其他好文   时间:2014-05-15 02:54:32    阅读次数:262
Leetcode 线性表 Remove Nth Node From End of List
题意:移除链表的倒数第n个元素 思路: 两个指针p, q, p先走n步,然后p,q一起走,当p走到尾的时候,q->next就是要删除的节点 复杂度: 时间O(n),空间O(1)...
分类:其他好文   时间:2014-05-15 02:53:13    阅读次数:241
Leetcode 线性表 Two Sum
题意:给定一组数和另一个数,在这组数中找两个数,使它们的和等于给定的数 思路1: --> 错,因为题目要求返回下标。 1.排序 2.两个下标,一个指向头,一个指向尾 3.如果下标指向的两个元素相加大于给定的数,尾下标减一 如果小于,头下标加一 思路2: hash 1.用hash存储每个数的下标 2.数组,看hash[target-num[i]]是否存在 复杂度:时间O(n), 空间O(n)...
分类:其他好文   时间:2014-05-15 01:28:13    阅读次数:297
插入排序
插入排序是最基本基于比较的排序方法,其时间复杂度为Ο(n2),最好情况为初始有序,最坏为逆序。 伪代码如下: insertionSort(A,n) for i=1 to n do key=A[i] for j=i-1 to 0 if ar...
分类:其他好文   时间:2014-05-14 22:35:28    阅读次数:326
Leetcode 动态规划 Maximum Subarray
题意:最大连续子序列和,在一个数组中找到和最大的连续子数组 思路:dp, 对于第i个数,有两种选择:把它加入在子数组里,不加入子数组(子数组到此结束) 加不加入子数组,要比较它加入前后子数组的总和是变大了还是变小了,如果变大则加入,变小则不加入 所以,我们需要记录以i-1结尾的子数组的总和,最后的结果在这些总和中取最大的那个 f[i] = max(f[i-1]+a[i],f[i-1]); max({f[i]}) 实现时用两个变量,一个保存f[i-1],一个保存目前为止最大的f[i] 复杂度:时间O(n),空...
分类:其他好文   时间:2014-05-14 21:53:14    阅读次数:250
Leetcode 线性表 Remove Element
题意:移除数组中出现的给定元素,并返回移除元素数组长度。要求在数组上操作 思路:遍历数组,将除给定元素外的其他元素赋值给“新数组”,不过这个“新数组”还是在原来的“旧数组”的内存空间 因为遍历旧数组的下标总大于等于新数组的下标,所以赋值并不会影响到还没有遍历到的元素 复杂度:时间O(n), 空间O(1)...
分类:其他好文   时间:2014-05-14 21:35:52    阅读次数:257
Leetcode 线性表 Remove Duplicates from Sorted Array II
题意:从一个已排序的数组中移除掉重复的元素,每个元素最多可重复两次 思路: 思路和Remove Duplicates from Sorted Array一样,不过要设置一个计数变量,表示当前值出现的次数 出现次数少于2可以加入到新数组,多于2则不可以。每次遇到一个新变量要把计数变量重新设置为1,加入新数组要加1 复杂度:时间O(n), 空间O(1)...
分类:其他好文   时间:2014-05-14 21:03:00    阅读次数:262
左旋转字符串
题目描述: 定义字符串左旋转操作:把字符串前面的若干个字符移动到字符串尾部,如把字符串 abcdef 左旋转 2 位得到字符串 cdefab。请实现字符串左旋转的函数,要求对长度为 n 的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。 解法一:暴力移位法 此方法就是将需要移动的字符串逐个移动到大字符串的末尾 移动一个字符(java方法) /** * * ...
分类:其他好文   时间:2014-05-14 20:55:47    阅读次数:281
HDU 4039 The Social Network bfs
算了下复杂度好像是n^3 就感觉不大好做。结果n^31a。。。 #include #include #include #include #include #include #include #include using namespace std; #define eps 1e-9 #define PI acos(-1.0) #define N 1005 #define inf ...
分类:Web程序   时间:2014-05-14 20:11:42    阅读次数:309
判断素数的方法
判断n是否为素数1、最简单的方法:用n除以2~sqrt(n),有一个能除尽就不是素数,否则是素数。时间复杂度:O(sqrt(n))为什么是sqrt(n),n的开方呢? 假设n是个合数,它必然可以由两个数a,b相乘而得到,即a*b = n。在这两个数中,如果a>sqrt(n), 则bsqrt(n), ...
分类:其他好文   时间:2014-05-14 18:05:31    阅读次数:363
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!