eBay OA挂经反思

【俄罗斯方块的题】

可以参考:https://blog.csdn.net/weixin_44337445/article/details/108971706

思路:看能移动多少步数,数min step。然后把矩阵拼出来

心得:妈的,网上有答案都没查到。搜答案的火候不到家啊。可能准备时间太仓促了吧。可以重新再投吗? 

public char[][] figureUnderGravity(char[][] matrix) {
  if (matrix == null || matrix.lenght == 0 || matrix[0].length == 0) {
    return matrix;
  }
  int m = matrix.length;
  int n = matrix[0].length;
  int minstep = Integer.MAX_VALUE;
  for (int j = 0; j < n; j++) {
    int i = 0;
    while (i < m) {
      while (i < m && matrix[i][j] != 'F') {
        i++;
      }
      if (i == m) continue;
      while (i < m && matrix[i][j] == 'F') {
        i++;
      }
      if (i < m) {
        int cnt = 0;
        while (i < m && matrix[i][j] != '#') {
          i++;
          cnt++;
        }
        minstep = Math.min(minstep, cnt);
      }
    }
  }
  if (minstep == Integer.MAX_VALUE || minstep == 0) {
    return matrix;
  }
  for (int i = m - 1; i < minstep; i--) {
    for (int j = 0; j < n; j++) {
      if (matrix[i - minstep][j] == 'F') {
        matrix[i][j] = 'F';
        matrix[i - minstep][j] = '.';
      }
    }
  }
  reutrn matrix;
}
引用

 

【矩阵消消乐查询】

可以参考:https://www.1point3acres.com/bbs/interview/ebay-software-engineer-563612.html

思路:用的两个hashset存disabled row 和 column

rowset, colset 
for (rowset) { //124
    for(colset) { //29
        //是的吧,都是在有效范围内的for循环。有道理。
    }
}

心得:又没想到hashset,怎么又忘了?

其实hashset set是功能一样的东西,都是实现了不可重复。array是可重复的。

 
posted @ 2020-12-26 14:35  苗妙苗  阅读(165)  评论(0编辑  收藏  举报