介绍:
BFPRT算法解决的问题十分经典,即从某n个元素的序列中选出第k大(第k小)的元素,通过巧妙的分 析,BFPRT可以保证在最坏情况下仍为线性时间复杂度。该算法的思想与快速排序思想相似,当然,为使得算法在最坏情况下,依然能达到o(n)的时间复杂 度,五位算法作者做了精妙的处理。
时间复杂度
O(N)
算法步骤:
1. 将n个元素每5个一组,分成n/...
分类:
编程语言 时间:
2015-07-29 14:09:22
阅读次数:
181
题意:有n个小楼梯,如果两个楼梯的 前缀等于另一个的后缀就可以首尾相连,前缀后缀长度要大于等于2。 问m个楼梯组成,有多少种组成方法。
做法:要去重,然后judge 每个楼梯能不能连,构造出构造矩阵,初始矩阵第一行全为1,然后矩阵快速幂。...
分类:
其他好文 时间:
2015-07-29 14:08:11
阅读次数:
118
相信用过苹果手机的童鞋,会发现很多新闻类的应用,都可以实现HTML图片本地预览,那么这是如何实现的呢?本文将深入阐述其中的原理....
分类:
移动开发 时间:
2015-07-29 14:09:50
阅读次数:
179
Mac 安装 brew 及其使用方法:
安装brew:
curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1
卸载brew:
cd `brew --prefix`
rm -rf Cellar
brew pr...
分类:
系统相关 时间:
2015-07-29 14:09:15
阅读次数:
167
首先来看一下TextWatcher的源代码
package android.text;
/**
* When an object of a type is attached to an Editable, its methods will
* be called when the text is changed.
*/
public interface TextWatcher exten...
分类:
移动开发 时间:
2015-07-29 14:08:22
阅读次数:
152
1.题目描述:点击打开链接
2.解题思路:抽取出所有的数字,排序后输出即可。
3.代码:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#in...
分类:
其他好文 时间:
2015-07-29 14:07:46
阅读次数:
131
今天微软正式推出 Windows 10,并于今天晚上19:00在鸟巢水立方举行Windows 10发布会。
针对已经预订 Windows 10 升级的 Windows 7、Windows 8.1 用户,微软采用预下载的方式来提供更流畅的升级体验。
在系统分区可以找到 $windows.~BT 文件夹,包括了大部分 Windows 10 升级需要的文件,大概有 3GB 大小。
预下载 Windows 10 安装文件是微软之前已经预告过的,主要是让一些用户错开推送高峰,等待时间也更少。...
求.net后台程序员 http://jwstudio.cn?s=9uH (麻烦帮忙,广而告之,谢谢)...
分类:
Web程序 时间:
2015-07-29 14:08:18
阅读次数:
120
//给一对数[l,r]
//问找出最小的n使得线段树的根节点的左右范围是[0,n],且
//该线段树中有左右范围为[l,r]的节点
//由于l/(r-l+1)≤2015
//可以直接暴力搜索以[l,r]为节点的其父亲节点的情况
//然后比较其最小值
#include
#include
#include
using namespace std ;...
分类:
其他好文 时间:
2015-07-29 14:08:57
阅读次数:
93
新进程的执行源于以下前提:
- dup_task_struct中为其分配了新的堆栈
- 调用了sched_fork,将其置为TASK_RUNNING
- copy_thread中将父进程的寄存器上下文复制给子进程,保证了父子进程的堆栈信息是一致的
- 将ret_from_fork的地址设置为eip寄存器的值
最终子进程从ret_from_fork开始执行...
分类:
系统相关 时间:
2015-07-29 14:08:57
阅读次数:
198
//二叉排序树
#include
#include
#define TRUE 1
#define FALSE 0typedef int Status;//二叉树的结构体定义
typedef struct BiTNode{
int data;
struct BiTNode *lchild, *rchild; //左右孩子指针
}BiT...
分类:
编程语言 时间:
2015-07-29 14:06:36
阅读次数:
153
分析Linux内核创建一个新进程的过程进程描述
进程描述符(task_struct)用来描述进程的数据结构,可以理解为进程的属性。比如进程的状态、进程的标识(PID)等,都被封装在了进程描述符这个数据结构中,该数据结构被定义为task_struct
进程控制块(PCB)是操作系统核心中一种数据结构,主要表示进程状态。
进程状态fork()fork()在父、子进程各返回一次。在父进程中返回子进程的 p...
分类:
系统相关 时间:
2015-07-29 14:09:04
阅读次数:
245
StrictMode是一个开发者工具,它可以帮助我们监测到在大量代码中运行在主线程中我们不容易发现的耗时操作,这些耗时操作显然是放错了位置的,他们应该在工作线程中运行,如果我们自己一行一行去发现这种错误,代码少的话还可以,代码一多,这显然是不可能做到的事情。我们的UI有时候会有卡顿,这也是因为我们不小心在主线程UI中放置了耗时的操作...
分类:
移动开发 时间:
2015-07-29 14:07:21
阅读次数:
219
1.题目描述:点击打开链接
2.解题思路:排序后从大到小选取,当take>sum-take时候停止。
3.代码:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
...
js this指向问题
今天就专门总结一下js中this的指向问题。今天通过题目的方式理解一下this指向,就不从理论上深入了,理论放在以后对闭包、作用域链等总结时候再与此联系起来。
先来几条纲领:
1.函数在被直接调用的时候,其中的this指针永远指向window
2.匿名函数this总是指向window对象
3.谁执行函数,this就指向谁
4.如果函数new了一下,那么就会创建一...
分类:
Web程序 时间:
2015-07-29 14:08:33
阅读次数:
110
无论上层语言类型多么复杂,在.net平台上,都逃不过CTS 的约束,今天我想谈的不是CTS,而是上层语言C#类型的一点研究。public struct test
{
public override bool Equals(object obj)
{
return base.Equals(obj);
}
}这是我随...
1)进入刚安装的Android Studio目录下的bin目录。找到idea.properties文件,用文本编辑器打开。
2)在idea.properties文件末尾添加一行: disable.android.first.run=true ,然后保存文件。
3)关闭Android Studio后重新启动,便可进入界面。
可以解决。...
分类:
移动开发 时间:
2015-07-29 14:08:28
阅读次数:
164