写点什么

ARTS 第二周

作者:壹贰叁
  • 2023-08-27
    广东
  • 本文字数:1351 字

    阅读完需:约 4 分钟

ARTS第二周

一、Algorithm 是一道算法题

两数之和

func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {    var dummy *ListNode = &ListNode{0,nil}    var cur *ListNode = dummy        var sum int = 0        for l1 != nil || l2 != nil {        if l1 != nil {            sum = sum + l1.Val            l1 = l1.Next        }        if l2 != nil {            sum = sum + l2.Val            l2 = l2.Next        }                cur.Next = &ListNode{sum % 10,nil}        cur = cur.Next        sum /= 10    }        if sum == 1 {        cur.Next = &ListNode{1,nil}    }        return dummy.Next   }
复制代码

二、Review 是读一篇英文文章

阅读 go101

https://go101.org/article/keywords-and-identifiers.html

三、Technique/Tips 是分享一个小技术

技术:学习 go 语言的 for 循环

解决问题的逻辑思路:解决复杂问题: 用数据结构封装,封装后,根据某种算法,让他性能更高
  1. 拆分问题

  2. 将问题改为可以用程序来是实现的逻辑

  3. 用 if for 解决问题

  4. 提高性能(执行时间更快)(可以尝试用多种算法)

九九乘法表

思路:

  1. 9 行:输出 9 行

  2. 第一行第一个、第二行 2 个、递增 i++ 外层循环是行 ,内层循环是列 行和列是有关联的,在内层循环中结束或者条件利用外层循环的变量

  3. 第一个参数横向 1...9 第二个参数纵向 1...9

func main() {	for i := 1; i <= 5; i++ {		for i := 0; i < 5; i++ {			fmt.Print("* ")		}		fmt.Println(" ")	}		for i := 1; i <= 9; i++ { //行 九列作为一个整体循环九次,循环一次换行,获得9列9行		for j := 1; j <= i; j++ { //列   每一列循环结束,在跳出循环行     内层循环以外层循环为依据,产生联动			fmt.Printf("%d * %d = %d\t", j, i, i*j)		}		fmt.Println() //九行,换行输出	}
复制代码
菱形输出

思路:

1.分析问题  输出结果,观察规律   *  ***    *****   *******  ********* ***********  *********   *******    *****     ***      *2拆分问题:将问题拆分为可以用编程来实现的逻辑      1)两个三角形构成的菱形三角形(对称的)      2)上面的正三角形应该比下面的倒三角型多一行 上面6行,下面5行3)正三角形,每一行前面的空格在减少      4)*是1/3/5递进
复制代码

for i := 0; i <= 6; i++ { //6 行


  for j := 1; j <= 6-i; j++ { //前面的空格,5,4,3,2,1     6-行数刚好=空格的数量    fmt.Print(" ")  }
for j := 0; j < 2*i-1; j++ { //每行的*数量 1 3 5 7 9 11 每行的数量刚好是2*i-1 i为当前行数 fmt.Print("*") } fmt.Println("")}for i := 1; i < 6; i++ { //共5行 for j := 1; j <= i; j++ { //空格,1 2 3 4 5 ,与行数相等 fmt.Print(" ") } for j := 0; j < 10-(2*i-1); j++ { //每行*数量 9 7 5 3 1 fmt.Print("*") } fmt.Println("")}
复制代码

四、Share 是分享一个观点

  1. 只做一周的计划,计划太长,一定完不成。

  2. 一定要写四事项,在每周的时候先做重要的事情,其他一律不允许做,连最重要的事情都不做,你还想干什么。必须先干重要的事情,其他一律丢掉。时间很宝贵,先把最重要的事情做完,其他都是浮云

  3. 基础很重要,这些基础是日后每天 80%都会看到的的东西,所以必须先掌握基础,将基础打扎实

用户头像

壹贰叁

关注

还未添加个人签名 2023-05-16 加入

还未添加个人简介

评论

发布
暂无评论
ARTS第二周_壹贰叁_InfoQ写作社区