golang 算法
田园园野
我坚持,我坚信
展开
-
golang 算法一 数学
1、golang会自动进行四设五入func main(){ var a float32 fmt.Scan(&a) fmt.Printf("%.2f",a)}//输入:1.235//结果:1.242、火柴游戏,21根火柴,轮流取,每人可取1-4根,不可多取,也不可不取,编程,让一个人赢得比赛。每轮让两个人去火柴的数量为5。3、求圆周率=1-1/3+1/5-1/7+...........原创 2018-06-19 20:39:19 · 5287 阅读 · 0 评论 -
golang 算法-字符串
1、从字符串str1中查找是否有字符串str2func main(){ var str1 string var str2 string fmt.Scan(&str1) fmt.Scan(&str2) if strings.Contains(str1,str2) { fmt.Println("Yes") }}2、给出一串字符,要求统计出里面的字母、数字、空格以及其他...原创 2018-06-23 17:09:23 · 340 阅读 · 0 评论 -
golang 算法-矩阵
矩阵相乘:package mainimport "fmt"type SQ struct { m,n int data [][]int}//a的列数和b的行数相等func mul(a SQ,b SQ) [][]int{ res := [][]int{} for i:=0;i<a.n;i++ { t := []int{} for j:=0;j<b.m;j...原创 2018-06-23 17:34:33 · 4931 阅读 · 0 评论 -
golang 算法-约瑟夫环
1、一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?func main(){ var n,find,count int //find=1找到下一个猴子让它出去,count计数是否...原创 2018-06-23 22:38:26 · 810 阅读 · 0 评论 -
golang 算法-递归
1、汉诺塔问题:原创 2018-06-24 10:42:20 · 892 阅读 · 0 评论 -
动态规划
1、剪绳子给你一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1,m>1), 每段绳子的长度记为 k[0], k[1], k[2], …, k[m]。 请问 k[0] * k[1] * k[2] * … * k[m] 可能的最大乘积是多少? 例如,当绳子的长度为8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。解法一:动态规划func max(a int...原创 2018-06-25 13:20:09 · 221 阅读 · 0 评论 -
简单背包问题
1、简单背包问题:递归:var flag boolvar W = make([]int,40)func dfs(s int,n int)(bool){ if s==0 { return true } if s<0 || (s>0 && n<1){ return false } if dfs(s-W[n],n-1) { fmt.Print...原创 2018-06-26 11:30:52 · 197 阅读 · 0 评论