说明 这篇博客是在复杂场景使用策略和工厂模式代替分支语句升级版,增加了模版方法模式。将支付类的公共逻辑抽取到模板类中,使整个支付逻辑更加灵活,进一步优化了代码结构,提升了软件的可维护性和可读性。 流程图如下 先看一遍流程再对一下代码就能很深刻理解了。 代码具体改造 1、首先新增模版方法 public abstract class AbstractPaymentStrategy i
一、线段树(点修改) Update(x,v): 把Ax修改为v Query(L,R): 计算区间[qL,qR] 最小值。 代码: // Dynamic RMQ// Rujia Liu// 输入格式:// n m 数组范围是a[1]~a[n],初始化为0。操作有m个// 1 p v 表示设a[p]=v// 2 L R 查询a[L]~a[R]的min#includ