Algorithm_Test

本文介绍了一个PHP类,包含两个方法:将字符串转换为整数并输出,及在一个递增矩阵中查找指定数值的位置。通过具体示例展示了如何使用这些方法。
<?php 


	class algorithm{
		
		/**
		 * 第20题:
		 *题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。
		 *例如输入字符串"345",则输出整数345。
		 */
		function twenty($string){
			$arr = explode("\"", $string);
			if(is_numeric($arr[0])){
				print_r($arr[0]);
			}
		}
		
		/**
		 * 在一個遞增的數組中找到參數的位置(行遞增,列也遞增)
		 * array[$i][$j]>$array[$i-1][$j] & array[$i][$j]>$array[$i][$j-1]
		 * 	1,2,8,9
		 * 	2,4,9,12
		 * 	4,7,10,13
		 * 	6,8,11,15
		 */
		function numFind($num){
			$arr = array(array(1,2,8,9),array(2,4,9,12),array(4,7,10,13),array(6,8,11,15));
			$lieCount = count($arr[0])-1;
			$hangCount = count($arr)-1;
			$row = 0 ;
			while ($lieCount>=0){
				if($arr[$row][$lieCount]>$num){		//從數列的右上角數(9)開始,如果查詢的數比右上角的數小,則表明右上角對應的列中不會出現該數
					 $lieCount--;			        //去掉該列,即列減一,現在的右上角數是8.
					 $result='false';				
				}else{
					if($arr[$row][$lieCount] == $num){	//如果找到了該數與右上角相等,返回true.	
						$result='true';			
						return $result;			
					}else{							//數大於右上角數(9).
						if($row<=$hangCount){		//$row小於行數
						    $row++;				//增加一行
						}else{
						    $result = 'max-false';		//該數大於數組中所有元素的時候
						    return $result;
						}
					}
				}
			}
			//該數小於數組中所有元素的時候
			$min = "min-".$result;
			return $min;
		}
	}

	$test = new algorithm();
	$num = 0.9;
	echo $test->numFind($num);
	
?>

转载于:https://my.oschina.net/resory/blog/103493

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值