lamb88
lamb88
全部文章
华为机试
题解(4)
归档
标签
去牛客网
登录
/
注册
yhchdev
往事可以回首,当下更需专注,未来值得期待
全部文章
/ 华为机试
(共10篇)
题解 | #蛇形矩阵#
解题思路 仔细观察并找规律会发现在斜率线上得数字是递增得,斜率线的条数是n,矩阵行数是n,每行的列数是n-i 斜率线上的数据所在的坐标行是递减得,列是递增的 string.Join([]elems," ")的妙用,将" "放置在元素中间 知识点 斜拉线上...
斜率矩阵
2021-06-15
0
574
题解 | #字符串排序#
解题思路 对指定字符串按a-z和A-Z的顺序进行排序,只要构造a-z的顺序字符串然后保留对比如果相等则将该字符串添加到零时数组中 然后将原有字符串转化为数组,将原有数组中的字符替换为零时数组中的按序字符 package main import( "fmt" ...
字符串排序
字母序
2021-06-15
0
369
题解 | #计算日期到天数转换#
解题思路 将每个月的天数按序存到数组中,闰年的话,修改数组中对应的值 通过循环取数组中的值累加就行了 package main import( "fmt" ) func main(){ var year,months,day int if n,_ ...
闰年天数计算
2021-06-13
0
444
题解 | #求最小公倍数#
解题思路 暴力搜索满足的条件的数字,一旦找到就退出函数 最坏情况是最小公倍数是两个数的乘积 package main import ( "fmt" ) func main() { var a, b int for { if n, _...
最小公倍数
2021-06-13
0
359
题解 | #完全数计算#
解题思路 暴力搜索每个数的约数然后求和最后看是否满足条件,满足条件就添加到数组中,然后统计数组的长度 优化方法就是添加一些条件让循环次数减少 package main import( "fmt" ) func main(){ var num int ...
完全数
求余数
2021-06-13
0
413
题解 | #提取不重复的整数#
解题思路 提取不重复元素这类问题就是利用hash表高效插入和查询的有点以及相同key地址冲突的特点来去重 package main import( "fmt" ) func main(){ var str string n,_ := fmt.Sca...
hash表
2021-06-09
0
316
题解 | #统计每个月兔子的总数#
解题思路 兔子的按状态分类出生一个月的,出生两个月的,出生3个月和超过3个月的 出生刚一个月的萌新兔子数是上一轮的出生3个月的兔子数(n个他们能生出n个小萌新) 出生2个月的兔子数,和出生一个月的萌新兔子数是一样的 出生大于或等于3个月的兔子数就是之前的兔子数加上出生两个月的兔子数 最后将这个3中...
兔子繁殖
2021-06-08
0
566
题解 | #截取字符串#
解题思路 使用 []rune() 获取字符串的字节列表(utf-8编码),最后使用string()转换成字符串 package main import( "fmt" ) func main(){ for{ var str string ...
字符串截取
2021-06-07
0
460
题解 | #公共子串计算#
解题思路 这里需要区别最公共子序列和公共子串两个概念,先来看看如何求解题最长公共子序列 将两个子串分别映射到二维数组上,类似于一个棋盘 如果行首列和列首的字母相等,则再中间各种加上左上角的数值,若不相等则取上和左边最大值填入可参考这个视频,虽然啰嗦但是过程演示很清晰 package main ...
公共子串
公共子序列
动态规划
状态转移方程
2021-06-07
0
472
题解 | #放苹果#
解题思路 把苹果(数量为m)放盘子(数量为n)里有两类放法,一种是有盘子为空的情况,一种是所有盘子里都有苹果的情况 1.有盘子为空,假设有一个盘子为空那么求解的问题转化为m个苹果放入(n-1)个盘子中,表达式即为(m,n-1) 2.盘子不为空,那么每个盘子中至少有一个苹果,问题转化为(m-n)个苹...
动态规划
放苹果
2021-06-06
0
376