文档章节

两个小程序

hehe_
 hehe_
发布于 2016/05/12 19:52
字数 318
阅读 21
收藏 0

 

 

/**
	 * 二分查找,找数,
	 * @param array
	 * @param data
	 * @return 返回下表,没有返回-1
	 */
	public int find(int[] array,int data){
		
		/**
		 * 1 2 3 4 5 6 7 8   找  1
		 *      
		 *      1.跟4比
		 *      2.跟2比
		 *      3.找到了
		 * 
		 * 有序数组二分查找,从中间开始比较,小于就往左,大于就往右 递归
		 */
		
		int minIndex = 0;
		int maxIndex = array.length - 1;
		int middle = array.length /2;
		
		while(minIndex<=maxIndex){
			if(data == array[middle])
				return middle;
			else if(data<middle)
				maxIndex = middle -1;
			else
				minIndex = middle+1;
		}
		return -1;
	}

 

       /**
		 * 公鸡 3元/只  母鸡5元/只   小鸡  3只/元
		 * 100 元 买100只鸡
		 * 各几个鸡
		 * 
		 * 分析:
		 * 
		 * 公鸡 a 母鸡b 小鸡c
		 * 3a+5b+c/3=100 钱
		 * a+b+c=100 个
		 * c%3=0
		 * 
		 */
			
		/**
		 * 暴力解决
		 */
		
		for(int a =0 ;a<100;a++){
			for(int b=0;b<100;b++){
				int c=100-a-b;
				if(3*a+5*b+c/3==100 && c%3==0){
					System.out.println("公鸡:"+a+",母鸡:"+b+",小鸡:"+c);
				}
			}
			
		}

 

package net.mine.std.struct;

public class FastSort {

	public void robin(int s[],int l, int r){

		if(l < r){
			int i = l,j = r, t = s[l];
			
			while(i<j){
				
				while(i< j && s[j]>t){
					j--;
				}
				if(i<j){
					s[i] = s[j];
					i++;
				}
				
				while(i<j && s[i] <= t){
					i++;
				}
				if(i< j){
					s[j] = s[i];
					j--;
				}
			}
			s[i] = t;
			
			robin(s, l, i-1);
			robin(s, i+1, r);
		}
		
	}
	
	public static void main(String args[]){
		
		int arr[]= {9,8,3,2,1,6,10,5};
		
		FastSort s = new FastSort();
		s.robin(arr, 0, arr.length-1);
		
		for(int i : arr){
			System.out.println(i);
		}
		
	}
	
}

 

© 著作权归作者所有

共有 人打赏支持
hehe_
粉丝 2
博文 11
码字总数 5847
作品 0
大兴
程序员
私信 提问
windows mobile 开发有关wifi的问题

最近我在做windows mobile 开发的课程设计,遇到了一个问题想请教大家,问题如下: 我用C/S的模式做了两个应用程序,并实现两应用程序的通讯,我把服务器应用程序放在笔记本上,客户端的应用...

wade26
2013/12/13
58
0
疯狂ios讲义之实现游戏逻辑(1)

FKGameService类是整个游戏逻辑实现的核心,它是一个可以复用的业务逻辑类,它与游戏实现平台无关,其实现原理与《疯狂Android讲义》书中Android版《疯狂连连看》游戏中GameService的实现原理...

博文视点
2014/02/19
157
0
如果两个程序都这样做会怎样?

本文作者介绍 Raymond Chen Raymond Chen是微软Windows Shell开发团队中的知名程序员,从1992年加入微软开始,他参与过OS/2,Windows 95,DirectX已经以后版本的Windows的开发。他的关于Win...

oschina
2013/11/06
5K
25
并行、并发、同步和互斥

并行 计算机操作系统中的并行,指的是同时存在于内存中的多道作业都处于运行状态。实际上都是宏观上并行,微观上串行,因为这些作业都是开始各自的运行,但都没运行完毕,只是交替地使用cpu...

动态灵犀
2015/10/22
171
0
深入理解Java内存模型(三)——顺序一致性

当程序未正确同步时,就会存在数据竞争。java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序。 当代码中包含数据竞...

蓝狐乐队
2014/06/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决

服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"'......

honeymose
今天
2
0
apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
6
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
12
0
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
4
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部