您的位置:首页 > 其它

每日一记--2014.10.11

2014-10-11 09:21 183 查看
现在每天给老师一封邮件已经代替了我的博客园的每日一记了,哎。算来天天发邮件汇报工作也有半个月了,每天一到晚上就很头疼,每周不是工作日的日子就觉得无比轻松。

希望自己能把博客园的每日小程序坚持下去。嗯。

今天继续写《数据结构与算法分析》中的课后题吧,把这本书上的例题和习题都打出来算作是本学期的一个计划。

题目:

输入是一个N*N的数字矩阵并且已读入内存,每一行均从左到右递增,每一列从上到下递增,给出一个算法决定数m是否在该矩阵中

答案解析中的算法是:从矩阵的右上角的元素开始,若m小于此元素,则向左移动到下一个元素,若m大于此元素,则向下移动,直到寻找到此元素。

package 递增矩阵查找;

import java.util.ArrayList;

public class Chazhao {

public static void main(String[] args) {

int[][] aa =new int[][]{
{1,2,4,5,7},
{3,8,9,12,16},
{6,15,18,22,26},
{11,17,23,29,33},
{19,25,35,45,55}
};
int aim =85;
boolean find =chazhao(aim,aa,5);
System.out.println(find);
}

private static boolean chazhao(int aim, int[][] aa,int size) {
// TODO Auto-generated method stub
boolean find =false;
int row =0;
int column=size-1;
while(!find){
if((row>size-1)||(column<0))
return false;
if(aim>aa[row][column]){
row++;
}else if(aim<aa[row][column]){
column--;
}else{
find=true;
}
}
return find;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: