WEB开发网
开发学院软件开发VC 一道 Google 竞赛题的解法 阅读

一道 Google 竞赛题的解法

 2007-03-15 21:53:07 来源:WEB开发网   
核心提示: for ( int i = 0; i < gridSize; i ++){for ( int j= 0; j < gridStrLen; j++){ char ch = grid[i].at(j); ........}}1.2.2在遍历的过程中将grid的每个位置的字符,和fi
for ( int i = 0; i < gridSize; i ++)
{
  for ( int j= 0; j < gridStrLen; j++)
  {
    char ch = grid[i].at(j);
    ........
  }
}    
1.2.2

在遍历的过程中将grid的每个位置的字符,和find中的每一个字符比较,如果相等则把该字符的位置保存到find相应位置的向量中去。假设find中的第k个字符,与grid中(j,i)处的字符相等,即if ( find[k] == grid[i].at(j) ),则把当前的位置即(j,i)保存到vec[k]中去。结合遍历grid的代码,取得find中每个字符在grid中的位置的代码如下:int findStrLen = find.length();
int gridSize  = grid.size();
int gridStrLen = grid[0].length();
vector < VETPOS> vec(findStrLen);
int i,j,k;
// 遍历grid中的每一个字符
for ( i = 0; i < gridSize; i ++)
{
  for ( j= 0; j < gridStrLen; j++)
  {
    for ( k=0; k< findStrLen; k++)
    {
      char ch = find.at(k);
      //如果与find中位置k的字符相等,则将相应的grid中的位置坐标保存到相应的向量中去
      if ( ch == grid[i].at(j) )
      {
        POS ps;
        ps.x =j;
        ps.y = i;
        
        //位置向量0中所有坐标的初始值为1,而其他位置向量中坐标的这个字段总会被指零后才计算
        ps.count = 1;
        vec[k].push_back(ps);
      }
    }
  }
}    
2、寻找满足find字符串的路径

上一页  1 2 3 4 5 6 7  下一页

Tags:一道 Google 竞赛题

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接