Blue World

给你一个二维数组,再给你一个值,二维数组里得值低于这个数时,会变抹平,最后返回一个值

点击查看代码
        public static int Blue(int[][] m,int level)
        {
            if(m==null) return 0;
            int count=0;
            int h=m.Length;
            int w=m[0].Length;
            for(int r=0;r<h;r++)
            {
                for(int c=0;c<w;c++)
                {
                    m[r][c]=m[r][c]>level?1:0;
                }
            }
            int[][] dic=new int[][]
            {
                new int[]{-1,0},
                new int[]{1,0},
                new int[]{0,-1},
                new int[]{0,1},
            };
            for(int r=0;r<h;r++)
            {
                for(int c=0;c<w;c++)
                {
                    if(m[r][c]==0) continue;
                    count++;
                    var q=new Queue<int>();
                    m[r][c]=0;
                    q.Enqueue(r);
                    q.Enqueue(c);
                    while(q.Count>0)
                    {
                        int nr=q.Dequeue();
                        int nc=q.Dequeue();
                    foreach (var item in dic)
                    {
                        int cr=nr+item[0];
                        int cc=nc+item[1];
                        if(cr>=0&&cr<h&&cc>=0&&cc<w)
                        {
                            if(m[cr][cc]==1)
                            {
                            m[cr][cc]=0;
                            q.Enqueue(cr);
                            q.Enqueue(cc);
                            }
                        }
                    }
                }
            }
        }
            return count;

        }
    }
点击查看代码
    static void Main(string[] arg)
    {
        int[][] m=new int[][]
        {
            new int[]{0,1,0,0,0},
            new int[]{2,1,2,0,0},
            new int[]{0,1,4,3,0},
            new int[]{3,1,3,3,0},
            new int[]{0,2,0,0,0},
        };
        var result=blue.Blue(m,2);
        System.Console.WriteLine(result);

    }
posted @ 2022-02-17 21:46  Ariaaaaa  阅读(6)  评论(0)    收藏  举报