代码改变世界

01_动态规划之01背包问题

2019-09-05 14:22 by StevenZhao, 554 阅读, 0 推荐, 收藏, 编辑
摘要:动态规划原理: 动态规划与分治法类似,都是把大问题拆分成小问题,通过寻找大问题与小问题的递推关系,解决一个个小问题,最终达到解决原问题的效果。但不同的是,分治法在子问题和子子问题等上被重复计算了很多次,而动态规划则具有记忆性,通过填写表把所有已经解决的子问题答案纪录下来,在新问题里需要用到的子问题可 阅读全文

25_使用切片建立一个动态的二位数组.go

2019-09-05 11:22 by StevenZhao, 275 阅读, 0 推荐, 收藏, 编辑
摘要:package main import "fmt" 在go语言中,数组都是定长的,定义后就不能改变数组的大小,可以使用切片来实现动态的二位数组建立 func main() { //创建一个n行p列的动态二位数组 var m [][]int var n, p int fmt.Scan(&n, &p) 阅读全文

为什么突然想起来写博客

2019-08-31 17:56 by StevenZhao, 195 阅读, 0 推荐, 收藏, 编辑
摘要:能够写博客的人给人的第一印象就是这个人是大佬,对于我这样的学渣来说大佬是那么的遥远。而且对于从来没写过博客的我来说,突然写博客给人一种做作的感觉。还有一个原因就是写博客会占用很多的自己空闲时间,对于一个相对懒惰的我来都是那么的不现实。在很早以前我就有写博客的想法,最终都是以懒惰打败了天真而告终。但这 阅读全文

24_切片的使用

2019-08-31 17:29 by StevenZhao, 209 阅读, 0 推荐, 收藏, 编辑
摘要:实例代码如下: 阅读全文

23_随机数的生成和冒泡排序

2019-08-31 17:21 by StevenZhao, 450 阅读, 0 推荐, 收藏, 编辑
摘要://冒泡排序 阅读全文

22_数组做函数参数

2019-08-31 17:18 by StevenZhao, 154 阅读, 0 推荐, 收藏, 编辑
摘要:数组的弊端: 1、固定数组大小 2、值传递,赋值整个数组,占用内存 3、b:=[...]int{1,2,3}//不指定数组大小定义数组并初始化 因为数组做函数参数是值传递(c语言中是引用传递),所以使用函数指针作为函数参数比较高效例如: package main import ( "fmt" "math/rand" "time" ) //冒泡排序:切片,引用传递 func Bubble(a []i 阅读全文

21_一维数组和二位数组的使用

2019-08-31 17:13 by StevenZhao, 203 阅读, 0 推荐, 收藏, 编辑
摘要:1、数组是具有固定长度且拥有零个或多个相同数据类型元素的序列。因为数组的长度固定,所以go语言里很少使用, slice的长度可以增加或缩短,使用较多2、Go内置len函数。可以返回数组的元素个数3、如果省略号“...”出现在整个数组长度的位置,那么数组的长度有初始化数组的元素个数决定。4、数组的长度 阅读全文

20_指针类型的使用

2019-08-31 16:55 by StevenZhao, 220 阅读, 0 推荐, 收藏, 编辑
摘要:1、指针是存储值的地方 2、指针的值是一个变量的地址。一个指针指示值所保存的位置,不是所有的值都有地址,但是所有的变量都有地址。 3、使用指针,可以在无需知道变量名字的情况下,间接读取或更新变量的值 4、如果一个变量声明为 var x int,表达式&x(x的地址)获取一个指向整型变量的指针,他的类 阅读全文

19_获取命令参数

2019-08-31 16:31 by StevenZhao, 135 阅读, 0 推荐, 收藏, 编辑
摘要:1、获取命令行参数,即是在命令行编译运行时,输入参数,并得到参数输出例如:package main import "fmt" import "os" func main() { //Args是数组字符串类型 s := os.Args //程序编译之后,在运行时可以接受命令行传递的参数,s是字符串类型 阅读全文

18_init 函数的使用

2019-08-31 16:21 by StevenZhao, 804 阅读, 0 推荐, 收藏, 编辑
摘要:1、init()函数是一个内置函数,在程序执行前会先执行init()函数,及在main()函数执行前执行 2、如果调用包里有init()函数,会先执行调用包的init()函数,在这执行本函数的init()函数 3、函数的执行流程如下: 例如: 程序目录:F:\GoWork\go不同级目录\src 阅读全文