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

个人 网站建设方案书 备案总结什么是网络营销

个人 网站建设方案书 备案,总结什么是网络营销,域名解析工具,软件ui提取公共代码前言一、字母版上的路径二、贪心1、idea2、go3、代码不断拆分复用的过程总结参考文献前言 写代码,在提高效率的同时,要方便人看,这个人包括自己。大函数要拆分成一些小函数,让每个函数的宏观目的和步骤都显得清晰&am…

提取公共代码

  • 前言
  • 一、字母版上的路径
  • 二、贪心
    • 1、idea
    • 2、go
    • 3、代码不断拆分复用的过程
  • 总结
  • 参考文献

前言

写代码,在提高效率的同时,要方便人看,这个人包括自己。大函数要拆分成一些小函数,让每个函数的宏观目的和步骤都显得清晰,读起来才容易懂。除此之外,拆分也有讲究,提取公共代码,尽量减少重复无意义的代码,提高复用率。

一、字母版上的路径

在这里插入图片描述

二、贪心

1、idea

// 根据字母的ascall码可以确定它在board中的坐标。
// a - 97 == v,<x = v / 5,y = v % 5>
// cur:<0,0> t: <x,y>
// 前5行,先x或者y都无所谓
// 前五行到第6行,只能先y再x
// 第6行到前5行,只能先x再y

2、go

func alphabetBoardPath(target string) string {sb := &strings.Builder{}n := len(target)x,y := 0,0upDown,LeftRight := [2]byte{'U','D'},[2]byte{'L','R'}for i := 0;i < n;i++ {// 定位该字符在黑板上的坐标v := target[i] - 97nx,ny := int(v / 5),int(v % 5)// 根据当前坐标和目的坐标进行移动。if nx == 5 {// 去z那个地方,必须先L,再Dmove(y,ny,sb,LeftRight)move(x,nx,sb,upDown) } else {move(x,nx,sb,upDown)move(y,ny,sb,LeftRight) }// 寻找到该字符,将其加入。sb.WriteByte('!')x,y = nx,ny}return sb.String()
}
// 不断抽象,复用代码。
// 最开始是xY(int,int,int,int,*strings.Builder)函数,以及yX(int,int,int,int,*strings.Builder)函数;
// 发现对x或y的动作是一致的,所以拆解成单个x的动作moveX | moveY,
// 继续抽象,moveX | moveY代码都差不多,只是加入的ch不一样,所以将ch当作变量传入,将两函数合并成move函数。
func move(z,nz int,sb *strings.Builder,choice [2]byte){zGap := z - nzch := choice[0]if zGap < 0 {ch = choice[1]}for i := 0;i < abs(zGap);i++ {sb.WriteByte(ch)}
}
func abs(x int) int {if x < 0 {return -x}return x
}

3、代码不断拆分复用的过程

// 不断抽象,复用代码。
// 最开始是xY(int,int,int,int,*strings.Builder)函数,以及yX(int,int,int,int,*strings.Builder)函数;
// 发现对x或y的动作是一致的,所以拆解成单个x的动作moveX | moveY,
// 继续抽象,moveX | moveY代码都差不多,只是加入的ch不一样,所以将ch当作变量传入,将两函数合并成move函数。
func move(z,nz int,sb *strings.Builder,choice [2]byte){zGap := z - nzch := choice[0]if zGap < 0 {ch = choice[1]}for i := 0;i < abs(zGap);i++ {sb.WriteByte(ch)}
}

总结

1)每个函数拆分,做到有清晰的宏观目的和宏观步骤,这样后来的人包括自己才能更容易的看懂。
2)拆分代码,也要提取公共代码,尽量减少重复无意义的代码,提高复用率。

参考文献

[1] LeetCode 字母板上的路径

http://www.yayakq.cn/news/915772/

相关文章:

  • 地方网站类型20个著名wordpress公司
  • 合肥++网站建设网站标题分隔符号
  • 商品展示介绍网站源码政务网站建设的三大核心功能是什么
  • 北京建商城网站中英文网站开发公司
  • 今鼎网站建设公司网站建设关键字描述
  • 网站首页专题怎么做wordpress接口密码
  • 房产网站建设网站推广巢湖城市建设投资有限公司网站
  • 中国空间站拒绝10国名单天宫山缆车多少钱
  • 中小型网站建设与管理总结竞价推广是什么意思
  • 腾讯风铃怎么建设网站学校网站功能描述
  • 网站素材自己随便玩玩的网站怎么建设
  • 做网站前期费用百度云加速 网站关键词
  • 网站备案名称几个字网络小说网站推广策划方案
  • wordpress仿站入门dedecms手机网站仿制
  • 一个空间可以做多个网站吗北京手机网站建设哪家好
  • 网站建设设计公4399小游戏大全
  • 共享虚拟主机普惠版做网站网站建设与维护的国家定价标准
  • 东莞专业微网站建设推广男女做暖暖的时候网站
  • 杭州哪个网站建设最好医院做网站定位
  • 怎么做网站前段版式设计优秀作品欣赏
  • 沧州手机建站哪家好做网站要空间还是服务器
  • 设计开发建设网站平台苏州知名互联网公司
  • 资阳做网站dns看国外网站
  • 龙岗建网站外贸网站seo优化方案
  • 做网站除了域名还要买什么临安区规划建设局网站
  • 做网站找外包公司要要搞清楚什么整站优化的公司
  • 阿里国际网站首页可以做全屏不个人网站建设教程pdf
  • 方案图网站阳光房的设计效果图
  • 做网站程序怎么写风景旅游网页制作素材
  • 嘉定郑州阳网站建设网站备案网站名称怎么填