《面试笔试算法上》-编码能力提升

《面试笔试算法上》-编码能力提升

  1. 3/5的倍数:等差数列 时间复杂度:o(n) -> o(1)
  2. 偶斐波那契数列:用超大数组存储递推数组 -> 用两个变量来回倒,空间复杂度 o(1)
  3. 最大回文乘积:反转+判等,特殊情况(奇数位,末尾含0),双层枚举(int i = 0; int j = i;)
  4. 连续数字最大乘积:滑动窗口法(静态窗口,预先存储数组),进来0,计数器,数据类型上界
  5. 方阵中最大乘积:方向数组,边界补零,debug经历(int num[30][30],而不是char num[30][30])(int now = num[i][j]的定义位置,不能放在全局区)
  6. 最长考拉兹序列:记忆化,递归,递推
  7. 大整数加法:步骤:字符串输入 -> 反转存储 -> 对应相加(比较较大位) -> 处理进位 -> 反向输出;注意事项(num[0] = sizeof(s)首位存储数组大小,)
  8. 大整数乘法:加法计算规则;数组长度(ans[0] = num1[0] + num2[0] - 1)对应位置(ans[i +j - 1] += num1[i] * num2[j]
  9. 大整数除法:除法运算规则(课后思考题)
  10. 网格路径:方法(1. 递推(动态规划) 2. 排列组合);补零大法(外围一圈零);排列组合通用代码
  11. 最大路径和(树塔问题):自上而下,自下而上(逆问题转换),递推公式,
  12. 树塔狂想曲(综合题,不走某个点的最大路径):核心思路(①某一行次大值,最大值坐标②一个点的最大路径值(utd + dtu - num ③最大值与次大值的更新);注意点:暂时性的ban掉;快速读入;询问次数太大;
    参考文献:
    1 编程能力提升
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值