- 浏览: 13147 次
- 性别:
最新评论
文章列表
public class BinarySearch {
public static int binarySearch(int[] a,int x){
int low=0;
int high=a.length -1;
int mid;
while(low<=high){
mid=(low+high)/2;
if(a[mid]<x){
low=mid+1;
}else if(mid>x){
high=mid-1;
}else
return mid;
}
return -1; ...
问题:
有一串 int 数字串,存在数组a中。要求找到起始位置start和终止位置end,使得从start位置到end位置的所有数字之和最大,返回这个最大值max。
算法思路:
设 suffer 为以 a[x] 终止且包含 a[x] 的最大序列的和,有:
if(suffer+a[x+1]>max) suffer+=a[x+1],max=suffer;
else if(Suffer+a[x+1]) suffer+=a[x+1];
else suffer=0;
保证max是所有suffer中最大的一个。其算法的时间复杂度为O(n),代码实现如下:
...
线程?进程?程序?
进程与线程的一个简单解释http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html
1.进程VS程序
程序是存储在硬盘上的可执行文件,是代码和用户数据的集合。程序装载进内存后可以执行,处于执行状态的程序称为进程。
但是进程不仅仅是一段代码和数据,通常还包括一些系统资源,所以进程可以看做处于执行状态的程序及它所包含资源的总称。
进程及程序的主要区别如下:
<!--[if !supportLists]-->l
关于线程的几个问题:
1.线程具有哪些状态?
线程有5个状态,分别是创建状态,就绪状态,运行状态,等待状态,死亡状态。创建状态即是实例化Thread对象,创建线程有2中方式,1种是继承Thread类,一种是实例化runnable方法; ...
散列表
- 博客分类:
- hash table
散列表
1.直接寻址表
如图:关键字集合U={0,1,2,...,m-1},用一个数组T来表示,每个关键字指向一个数据,当然数据不一定是存满的,也就是说有些关键字可能会用不到。key表示已经存储数据的关键字集合。
当关键字的全 ...
TCP数据包
TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报(IP Datagram)。这是一个与硬件无关的虚拟包, 由首部和数据两部分组成,其格式如图所示。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首部中的源地址和目的地址都是IP协议地址。
1、IP数据报首部的固定部分中的各字段
(1)版本 占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。关于IPv6,目前还处于草案阶段。
(2)首部长度 占4位,可表示的 ...
Android游戏开发入门小结
——入门者参考
学习Android软件开发我首先感觉Android工程比我们以前写的java工程更加复杂,文件更多,但是当清楚每个文件时干嘛用的时候我发现Android开发不是那么的复杂,仅仅是文件多了而已,下面我以一个“helloword”工程为例,谈谈我对Android工程各个文件的理解。
src文件自然不用说了;gen目录下的R文件存放的是工程所用到的组件及图片等的id地址,便于我们调用;res目录下
java通信总结之“协议”
人之所以能正常的交流,因为我们有思想,知道一句话,一个表情,一个动作能代表什么意思,然而机器不同,如果说思想是一个人的灵魂,那么不变与永恒就是计算机的精髓,正因为计算机能按 ...
Android重力感应简介
- 博客分类:
- Android重力感应分析
Android重力感应简介
Android系统手机有很多重力感应游戏的应用,包括弹球,赛车等等游戏,android开发中共有8中传感器,包括:
传感器名称如下: 加速度传感器(accelerometer) 陀螺仪传感器(gyroscope) 环境光照传感器(light) 磁力传感器(magnetic field) 方向传感器(orientation) 压力传感器(pressure) 距离传感器(proximity) 温度传感器(temperature)
当然有些手机是不全 ...
五子棋编程思路
一.创建主函数,构造窗体方法
public static void main(String[] args){
FiveChessUI ui=new FiveChessUI();
ui.showframe();
}
public void showframe(){
this.setTitle("五子棋");
this.setSize(802,700);
this.setResizable(false);
this.setLayout(new FlowLayout(0,0,0));
//菜单
...