题意:将已排序的链表中所有重复的元素移除
思路:
三个个指针,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
题意:移除链表的倒数第n个元素
思路:
两个指针p, q,
p先走n步,然后p,q一起走,当p走到尾的时候,q->next就是要删除的节点
复杂度: 时间O(n),空间O(1)...
分类:
其他好文 时间:
2014-05-15 02:53:13
阅读次数:
241
题意:最大连续子序列和,在一个数组中找到和最大的连续子数组
思路: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
题意:移除数组中出现的给定元素,并返回移除元素数组长度。要求在数组上操作
思路:遍历数组,将除给定元素外的其他元素赋值给“新数组”,不过这个“新数组”还是在原来的“旧数组”的内存空间
因为遍历旧数组的下标总大于等于新数组的下标,所以赋值并不会影响到还没有遍历到的元素
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-14 21:35:52
阅读次数:
257
算了下复杂度好像是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
我这里有一套课程和大家分享,我的qq是2059055336,
课程说明:
国内首部完整讲述ERP系统架构、业务逻辑、开发的项目实战课程。考虑到本系统的庞大及复杂性、本课程原价购买学员每人赠送一个U盾设备,U盾可插在任意电脑上进行学习,使用方便,学习灵活!可永久学习!
项目由来:
此项目是讲师亲自参与构架及参与开发的大型ERP项目,此项目已被太阳石药业,九芝堂药业,拜欧药业等多家大中型...
分类:
Web程序 时间:
2014-05-14 20:06:35
阅读次数:
435
ReentrantLock是一个可重入的互斥锁,实现了接口Lock,和synchronized相比,它们提供了相同的功能,但ReentrantLock使用更灵活,功能更强大,也更复杂。这篇文章将为你介绍ReentrantLock,以及它的实现机制。
ReentrantLock介绍
通常,ReentrantLock按下面的方式使用:
public class ReentrantLockTest...
分类:
其他好文 时间:
2014-05-14 20:02:26
阅读次数:
397
众所周知,在android系统上,有时候我们遇到so文件的crash只能打log,但是很多时候并不知道crash在什么地方,幸运的是crash后,一般可以产生一个.dmp文件。
我们可以根据这个文件来得到更为详细的statck trace。
主要用的就是google提供的一些方法,命令太复杂,很容易出错,所以我写了一个python脚本,简化步骤。
详情可以参考 https://code.go...
分类:
移动开发 时间:
2014-05-14 19:45:57
阅读次数:
454
-------android培训、java培训、期待与您交流!----------正则表达式:符合一定规则的表达式。作用:用于专门操作字符串。特点:用一些特定的符合来表示一些代码操作,这样就简化书写。所以学习正则表达式,就是在学习一些特殊符号的使用。好处:可以简化对字符串的复杂操作。..
分类:
其他好文 时间:
2014-05-14 18:50:33
阅读次数:
358
判断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