诗悦网络内推_有问必答
诗悦网络内推_有问必答
全部文章
题解
诗悦网络(3)
归档
标签
去牛客网
登录
/
注册
诗悦网络内推_有问必答的博客
全部文章
/ 题解
(共9篇)
题解 | #求斐波那契(Fibonacci)数列的第 n 项#Erlang实现前后关系
解题思路 实现题目的前后关系即可 代码 -spec fib(N :: integer()) -> integer(). fib(N) -> do_fib(2, #{0 => 0, 1 => 1}, N). do_fib(Index, Map, N) when Ind...
动态规划
Erlang
2021-11-11
1
590
题解 | #最小代价爬楼梯#Erlang状态转移关系
解题思路 通过第n个阶梯的花费为通过前两个阶梯中累计花费最小的那个并加上自身的花费,即cost(n) = min(cost(n-1), cost(n-2)) + cost 最终计算得出cost(last) = min(cost(last - 1), cost(last -2)) 代码 -spec m...
动态规划
Erlang
2021-11-08
1
486
题解 | #判断是不是子字符串#Erlang双指针或动态规划
双指针 解题思路 不断遍历匹配T的头部是否含有S的头部,匹配到时将S头部移除直到空列表即为true 代码 -spec is_subsequence(S :: unicode:unicode_binary(), T :: unicode:unicode_binary()) -> boolean(...
动态规划
Erlang
双指针
2021-11-07
2
573
题解 | #比特位计数#Erlang位数规律
解题思路 每个Num的1的个数是Num div 2(即Num向右移动1位的结果)的1的个数加上Num rem 2(即与2取余后的代表奇偶数的那个1)得到的总个数 代码 -spec count_bits(N :: integer()) -> [integer()]. count_bits(N) ...
动态规划
Erlang
位运算
2021-11-07
1
441
题解 | #买卖股票的最好时机(一)# Erlang找出前后关系
解题思路 将价格变化转换为求收益最大化, 与求数组的最大子序和那道题类似 利用前一个数计算出本次相对收益, 且若之前的累计收益大于0则将之前的累计收益计入本次收益中, 若小于0则取本次收益, 并比较出迄今为止的最大收益 代码 -spec max_profit(Prices :: [integer()...
动态规划
Erlang
2021-11-05
1
419
题解 | #杨辉三角-ii# Erlang组合规律
解题思路 这道题诠释了杨辉三角中组合之间的规律, 即Cmn = Cm-1n-1 + Cmn-1, 而杨辉三角本身与二项式展开式系数也有密切的联系~ 解题关键是: 根据组合的公式 Cmn = n!/(m!(n-m)!) 那么Cm-1n = n!/((m-1)!(n-m+1)!) 推导出 Cmn = C...
Erlang
动态规划
2021-11-05
2
949
题解 | #杨辉三角#Erlang动态规划
解题思路 沿着题目思路写,首先构建第一轮的元素,后面每一轮的元素由上一轮元素决定,于是构建Map用于存储上一轮的数据方便取值(取不到的数据为0,符合题意) 该题属于动态规划里面明确指出前后关系的了,有些题需要自己去挖掘这个前后关系~ 代码 -spec generate(NumRows :: inte...
动态规划
Erlang
2021-11-03
2
548
题解 | #爬楼梯#Erlang动态规划拆分情况
解题思路 因为每次只能爬1或2个台阶, 从1个2个台阶开始推断, 并将问题n阶台阶拆解为求解到达n-1阶台阶以及n-2阶台阶的总和, 过程中缓存已记录阶数对应的数据 代码 -spec climb_stairs(N :: integer()) -> integer(). climb_stairs...
动态规划
Erlang
2021-11-02
2
675
题解 | #子数组最大连续和#Erlang人生动态规划
解题思路 如果到目前为止你的过去是负担,那就放下吧,每天都是新的开始~ 如果到目前为止你的过去是正担,那就带上吧,试试找到自己人生的最大子序和吧~(即自己相对提升最大的一段时间,我希望是现在也是未来) 代码 -spec max_sub_array(Nums :: [integer()]) ->...
数组
动态规划
Erlang
2021-11-02
18
643