题解 | #顺时针打印矩阵#

顺时针打印矩阵

http://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a

//就是每次将上行,右列,下行,左列 都加进去 让list去重 ,然后top++ ; right -- ,bottom-- ,left++, 直到top > bottom 或者 left > right 时退出循环就ok了(简单易懂~~~)
  ArrayList<Integer> list =  new ArrayList<>();
            int top = 0 ;
            int bottom = matrix.length-1;
            int left = 0;
            int right = matrix[0].length -1;
            while(top <= bottom && left <= right){
                //上
                 for(int i = left ; i<=right; i++){
                     if(!list.contains(matrix[top][i])){
                        list.add(matrix[top][i]) ;
                     }
                 }
                //右
                 for(int i = top ; i<=bottom; i++){
                     if(!list.contains(matrix[i][right])){
                        list.add(matrix[i][right]) ;
                     }
                 }
                //下
                  for(int i = right ; i>=left; i--){
                     if(!list.contains(matrix[bottom][i])){
                        list.add(matrix[bottom][i]) ;
                     }
                 }
                //左
                  for(int i = bottom ; i>=top; i--){
                     if(!list.contains(matrix[i][left])){
                        list.add(matrix[i][left]) ;
                     }
                 }
                top++;
                bottom--;
                left++;
                right--;

            }
        return list;


    }
全部评论

相关推荐

那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务