2020-04-18(733. 图像渲染*)

难度 简单
这道题实现确实不难,但是要读懂题需要花很长时间。一些无紧要的信息可以忽略,比如每个数字代表像素之类的,这道题颜色值和像素值占用了同一个地方,写入颜色就会擦掉像素,所以令人疑惑,所以忽略掉这部分信息是必要的。大概题意就是给定数组中的一个位置,从这个位置开始往这个位置的四周去遍历,如果四周相邻的数字和初始位置数字一样,则写成新的颜色。使用迭代。
执行用时 :1 ms, 在所有 Java 提交中击败了95.24%的用户
内存消耗 :40.6 MB, 在所有 Java 提交中击败了60.00%的用户

    public int[][] floodFill(int[][] image, int sr, int sc, int newColor) {
        fill(image, sr, sc, newColor, image[sr][sc]);
        return image;    
    }

    public void fill(int[][] image, int sr, int sc, int newColor, int num) {
        if(sr < 0 || sc < 0 || sr > image.length-1 || sc > image[0].length-1 || image[sr][sc] == newColor || image[sr][sc] != num){
                return;
        }
        if(image[sr][sc] == num){
            image[sr][sc] = newColor;
            fill(image, sr-1, sc, newColor, num);  
            fill(image, sr+1, sc, newColor, num); 
            fill(image, sr, sc-1, newColor, num); 
            fill(image, sr, sc+1, newColor, num); 
        }              
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一. Java基础部分.................................................
    wy_sure阅读 3,853评论 0 11
  • 我不充阔也不叫穷 我不装B 也不萎靡 我不摆谱也不献媚 我不热情也不冷淡 我不相信也不怀疑 我不建议也不干涉 我不...
    狮女柔心_Nicole陶阅读 306评论 8 11
  • 在开展软件活动时,通常情况下都需要依据测试用例进行,那到底什么是测试用例,测试用例有什么作用,测试人员又是如何设计...
    木鱼_17f5阅读 1,720评论 0 0
  • 今年圣诞节,刚好下起了雪,圣诞树裹上一层银装,冲淡了整条商业街浓重的商业围。路面上的污垢都被徐徐飘落的雪花覆盖,转...
    媛寻樱阅读 671评论 0 0
  • 我家有棵幸福树,它很高大,像一个巨人,像一个镇守边疆的战士。 它像我的朋友一样,每天展开树叶,向我们微笑...
    尤浩冉六三阅读 1,156评论 0 2