ARTS 第6周

2019-05-12  本文已影响0人  陈卧虫

[TOC]

Algorithm

807. Max Increase to Keep City Skyline

难度:[medium]

[思路]

  1. 先求出每一行的最大值,以及每一列的最大值
  2. 每一个元素对应的值其实就是:该元素对应行的最大值和列的最大值中 小的那一个值
  3. 那这个值减去原来的值即可求出差值,把所有元素的差值相加即可

[参考代码]

func maxIncreaseKeepingSkyline(grid [][]int) int {
    // 先求出每一行的最大值,以及每一列的最大值
    rowMax := make([]int, len(grid[0]))
    columnMax := make([]int, len(grid[0]))
    lens := len(grid[0])

    for i := 0; i < lens; i++ {
        tempRow := 0
        tempCol := 0
        for j := 0; j < lens; j++ {
            if grid[i][j] > tempRow {
                tempRow = grid[i][j]
            }
            if grid[j][i] > tempCol {
                tempCol = grid[j][i]
            }
        }
        rowMax[i] = tempRow
        columnMax[i] = tempCol

    }

    res := 0
    for i:=0; i < lens; i++ {
        for j:=0; j<lens; j++ {
            if rowMax[i] < columnMax[j] {
                res += rowMax[i] - grid[i][j]
            } else {
                res += columnMax[j] - grid[i][j]
            }
        }
    }
    return res
}

Review

Part 35: Reading Files:https://golangbot.com/read-files/

主要讲的内容是如何通过golang来读取一个文件里的内容

内容大纲:

Tips

分享git alias常用的几个快捷命令:

https://www.jianshu.com/p/d32d322766eb

Share

以前对UML一直都是一知半解,最近看了一遍关于UML规范的文章,写的很通俗易懂,推荐大家阅读:

程序员都该懂的 UML 规范!https://mp.weixin.qq.com/s/ubWEKJXPisR47L653NjpeA

这是我的总结:

本周阅读

五月第二周:2, 4, 5, 6, 7
-

Golang 需要避免踩的 50 个坑:https://juejin.im/post/5cad92e8f265da036d79a11f
左大括号 { 一般不能单独放一行
访问 map 中不存在的 key
16. string 类型的值是常量,不可更改

-

日常使用 Git 的 19 个建议: https://juejin.im/entry/56737bca00b0bf37ccb00ebe

Mac系统清理:  https://www.cnblogs.com/yajunLi/p/7008578.html
go语言选择语句 switch case:  https://studygolang.com/articles/4574
两种方式:
switch后接表达式,做运算
switch后不接,在case里做判断

漫画:什么是LRU算法?https://mp.weixin.qq.com/s/L-rTC-qlnvKxbwUI1FmeHw

程序员都该懂的 UML 规范!https://mp.weixin.qq.com/s/ubWEKJXPisR47L653NjpeA
Part 35: Reading Files:https://golangbot.com/read-files/
上一篇下一篇

猜你喜欢

热点阅读