当前位置: 首页 > article >正文

([LeetCode仓颉解题报告] 661. 图片平滑器

[LeetCode仓颉解题报告] 661. 图片平滑器

    • 一、 题目
      • 1. 题目描述
      • 2. 原题链接
    • 二、 解题报告
      • 1. 思路分析
      • 2. 复杂度分析
      • 3. 代码实现
    • 三、 本题小结
    • 四、 参考链接

一、 题目

1. 题目描述

在这里插入图片描述

2. 原题链接

链接: 661. 图片平滑器

二、 解题报告

1. 思路分析

 由于只需要3*3=9个格子,因此可以直接暴力模拟求解

2. 复杂度分析

最坏时间复杂度O(9nm)

3. 代码实现

模拟

class Solution {
    func imageSmoother(img: Array<Array<Int64>>): Array<Array<Int64>> {
        let (m, n) = (img.size, img[0].size)
        let ans = Array<Array<Int64>>(m,{_=>Array<Int64>(n,item:0)})
        for (i in 0..m) {
            for (j in 0..n) {
                var (cnt,s) = (0, 0)
                for (x in (i-1)..=(i+1)) {
                    for (y in (j-1)..=(j+1)) {
                        if (0<=x && x < m && 0<= y && y < n) {
                            cnt++
                            s += img[x][y]
                        }
                    }
                }
                ans[i][j] = s/cnt                
            }
        }
        return ans
    }
}

三、 本题小结

  1. 注意二维数组的初始化,内层要用表达式而不是直接创建一个,否则会有引用问题

四、 参考链接

  • 链接: [仓颉cangjie]暴力模拟

http://www.kler.cn/a/401315.html

相关文章:

  • 使用Faiss构建音频特征索引并计算余弦相似度
  • Stable Diffusion核心网络结构——CLIP Text Encoder
  • 退款成功订阅消息点击后提示订单不存在
  • 【AI图像生成网站Golang】项目架构
  • css 使用图片作为元素边框
  • 基于YOLOv8深度学习的智慧课堂学生专注度检测系统(PyQt5界面+数据集+训练代码)
  • 深入探索Python数据可视化:自定义颜色映射、标签与进阶技巧
  • gitHub常用操作
  • 论文浅尝 | MindMap:知识图谱提示激发大型语言模型中的思维图(ACL2024)
  • 从零开始打造个人博客:我的网页设计之旅
  • Jmeter中的后置处理器(一)
  • 计算机中的网络安全
  • sql 根据身份证号获取出生日期并转成对应格式
  • 3 设计模式原则之依赖倒置原则
  • RNN公式解释:实现记忆功能;RNN的状态向量
  • 如何在matlab中将数据打印到csv格式文件中?
  • Eclipse 创建Dynamic web project项目-配置Tomcat服务器
  • 如何利用AI提高测试覆盖率?
  • JAVA中CountDownLatch使用方法
  • 计算机毕业设计Python+大模型中医养生问答系统 知识图谱 医疗大数据 中医可视化 机器学习 深度学习 人工智能 大数据毕业设计
  • 【Python】爬虫实战:高效爬取电影网站信息指南(涵盖了诸多学习内容)
  • Flink vs Spark
  • 矢量拟合(2) - Vector Fitting算法原理
  • ROM修改进阶教程------安卓14去除修改系统应用后导致的卡logo验证步骤 适用安卓13 14 安卓15可借鉴参考
  • 视频号直播自动回复功能,浏览器自动化插件vx llike620
  • 使用FFmpeg实现视频与GIF的画中画效果