240. Search a 2D Matrix II

     此題考查楊氏矩陣的搜索,這裏採用的是Step-wise線性搜索解法,其餘的方法可參考http://blog.csdn.net/pi9nc/article/details/9082997

以下爲完整的程序:

#include<iostream>
#include<vector>
using namespace std;
bool searchMatrix(vector<vector<int>>& matrix, int target) {
	int row=matrix.size();
	int col  =matrix[0].size();
	int i=0,j=col-1; 
	int value=matrix[i][j];
	while(true){
		if(value==target)
			return true;
		else if(value<target&&i<row-1)
			value=matrix[++i][j];
		else if(value>target&&j>0)
			value=matrix[i][--j];
		else
			return false;
	}
 }
int main(){
	  vector< vector<int> > intVV;
      vector<int> intV;
	  int i,j,v;
	  for(i=1;i<6;i++){
		intV.clear();
	   for(j=0;j<5;j++)
	   {
		   intV.push_back(i+j*3);
	   }
	   intVV.push_back(intV);
	}
	  for(i=0;i<5;i++){
		    for(j=0;j<5;j++)
				cout<<intVV[i][j]<<" ";
			cout<<endl;
	  }	
	  while(cin>>v){
		  bool result=searchMatrix(intVV,v);
		  cout<<result<<endl;
	  }
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章