中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

浙江高端網(wǎng)站建設(shè)合肥百度搜索優(yōu)化

浙江高端網(wǎng)站建設(shè),合肥百度搜索優(yōu)化,網(wǎng)站設(shè)計三把火科技,定西企業(yè)網(wǎng)站制作提取公共代碼前言一、字母版上的路徑二、貪心1、idea2、go3、代碼不斷拆分復(fù)用的過程總結(jié)參考文獻(xiàn)前言 寫代碼,在提高效率的同時,要方便人看,這個人包括自己。大函數(shù)要拆分成一些小函數(shù),讓每個函數(shù)的宏觀目的和步驟都顯得清晰&am…

提取公共代碼

  • 前言
  • 一、字母版上的路徑
  • 二、貪心
    • 1、idea
    • 2、go
    • 3、代碼不斷拆分復(fù)用的過程
  • 總結(jié)
  • 參考文獻(xiàn)

前言

寫代碼,在提高效率的同時,要方便人看,這個人包括自己。大函數(shù)要拆分成一些小函數(shù),讓每個函數(shù)的宏觀目的和步驟都顯得清晰,讀起來才容易懂。除此之外,拆分也有講究,提取公共代碼,盡量減少重復(fù)無意義的代碼,提高復(fù)用率。

一、字母版上的路徑

在這里插入圖片描述

二、貪心

1、idea

// 根據(jù)字母的ascall碼可以確定它在board中的坐標(biāo)。
// 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++ {// 定位該字符在黑板上的坐標(biāo)v := target[i] - 97nx,ny := int(v / 5),int(v % 5)// 根據(jù)當(dāng)前坐標(biāo)和目的坐標(biāo)進(jìn)行移動。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()
}
// 不斷抽象,復(fù)用代碼。
// 最開始是xY(int,int,int,int,*strings.Builder)函數(shù),以及yX(int,int,int,int,*strings.Builder)函數(shù);
// 發(fā)現(xiàn)對x或y的動作是一致的,所以拆解成單個x的動作moveX | moveY,
// 繼續(xù)抽象,moveX | moveY代碼都差不多,只是加入的ch不一樣,所以將ch當(dāng)作變量傳入,將兩函數(shù)合并成move函數(shù)。
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、代碼不斷拆分復(fù)用的過程

// 不斷抽象,復(fù)用代碼。
// 最開始是xY(int,int,int,int,*strings.Builder)函數(shù),以及yX(int,int,int,int,*strings.Builder)函數(shù);
// 發(fā)現(xiàn)對x或y的動作是一致的,所以拆解成單個x的動作moveX | moveY,
// 繼續(xù)抽象,moveX | moveY代碼都差不多,只是加入的ch不一樣,所以將ch當(dāng)作變量傳入,將兩函數(shù)合并成move函數(shù)。
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)}
}

總結(jié)

1)每個函數(shù)拆分,做到有清晰的宏觀目的和宏觀步驟,這樣后來的人包括自己才能更容易的看懂。
2)拆分代碼,也要提取公共代碼,盡量減少重復(fù)無意義的代碼,提高復(fù)用率。

參考文獻(xiàn)

[1] LeetCode 字母板上的路徑

http://www.risenshineclean.com/news/9473.html

相關(guān)文章:

  • 怎樣做網(wǎng)站關(guān)鍵詞優(yōu)化十大營銷策略
  • 建設(shè)網(wǎng)站需要多少錢近兩年成功的網(wǎng)絡(luò)營銷案例
  • php網(wǎng)站和java網(wǎng)站google關(guān)鍵詞指數(shù)
  • 淄博網(wǎng)站制作百度seo排名優(yōu)化軟件
  • 什么網(wǎng)站能看到專業(yè)的做面包視頻黑帽seo是什么
  • 100%能上熱門的短視頻素材石家莊seo優(yōu)化
  • 哪個網(wǎng)站可以做空比特幣如何搭建個人網(wǎng)站
  • 優(yōu)秀企業(yè)網(wǎng)站案例百度合伙人答題兼職賺錢
  • 做外貿(mào)開店用哪個網(wǎng)站今日重大新聞
  • 深圳建站模板公司怎么推廣公司網(wǎng)站
  • 自己怎么做外貿(mào)網(wǎng)站平臺網(wǎng)站開發(fā)公司
  • 騰訊云網(wǎng)站備案流程圖二十條優(yōu)化
  • 在自己的網(wǎng)站上做查分系統(tǒng)網(wǎng)絡(luò)營銷與直播電商專升本
  • 做網(wǎng)站充值微信必須是企業(yè)趣丁號友情鏈接
  • 口碑好的網(wǎng)站建設(shè)公司廣東清遠(yuǎn)今天疫情實(shí)時動態(tài)防控
  • 開通獨(dú)立網(wǎng)站信息推廣服務(wù)
  • 男裝網(wǎng)站模板演示外貿(mào)網(wǎng)站制作
  • 怎么下載自己做的網(wǎng)站google網(wǎng)站推廣
  • 做英語網(wǎng)站百度一下你就知道 官網(wǎng)
  • 蘇寧網(wǎng)站開發(fā)人員工資seo關(guān)鍵詞快速獲得排名
  • 做軟裝素材從哪些網(wǎng)站找網(wǎng)站性能優(yōu)化
  • 愛奇藝網(wǎng)站建設(shè)費(fèi)中國十大企業(yè)培訓(xùn)機(jī)構(gòu)排名
  • 動畫網(wǎng)站建設(shè)安徽百度推廣怎么做
  • 文化傳媒網(wǎng)站php源碼百度收錄快速提交
  • 建網(wǎng)站費(fèi)用明細(xì)seo診斷工具
  • 火車票網(wǎng)站建設(shè)多少錢微信公眾號推廣網(wǎng)站
  • 高埗鎮(zhèn)做網(wǎng)站百度關(guān)鍵詞收錄排名
  • 做公司網(wǎng)站有沒有必要信息發(fā)布推廣平臺
  • 網(wǎng)站建設(shè)佛山拓客科技公司怎樣聯(lián)系百度客服
  • 微信店鋪小程序開發(fā)教程關(guān)鍵詞優(yōu)化價格