摘要: 这个问题主要看n%(m+1)的结果 如果n%(m+1)为0,那么后手赢,如果n%(m+1)!=0,那么先手赢。 考虑到只剩m+1个棋子的时候,这个时候谁取谁输。 所以 如果n%(m+1)为0,那么先手至少取了1个,后手可以对应的取,使得剩下棋子数保持n%(m+1)=0,这样下去,先手一定会面临在m+ 阅读全文
posted @ 2020-08-01 13:55 GuiQuQu 阅读(1218) 评论(0) 推荐(0)
摘要: 保证线程安全的策略: 保证线程安全,就要避免Race Condition,竞争的存在能破坏ADT的RI,使数据混乱。 策略1.限制数据共享 将可变数据限制在单一线程内部,避免竞争,不允许任何线程直接读写数据。 核心思想:线程之间不共享mutable的数据类型 避免全局可变变量 2.共享不可变数据 使 阅读全文
posted @ 2020-06-26 22:12 GuiQuQu 阅读(130) 评论(0) 推荐(0)
摘要: 1.并发: 网络上多台计算机,一台计算机上多个应用,一个CPU上的多核处理器,都可以算作并发。 为了充分利用多核和多处理器,需要将程序转化为并发执行 并发的两个Model: 1.共享内存 2.消息传递,通过channel交换消息 2.进程和线程: 进程:私有空间,彼此隔离 1.拥有整台计算机的资源 阅读全文
posted @ 2020-06-26 21:00 GuiQuQu 阅读(219) 评论(0) 推荐(0)
摘要: 1.正则表达式符号 yz y和z连接 y* 0个y或者对个y,是y的克林闭包 y | z y或者z y? 一个y或者0个y y+ 1个y或者多个y,y的克林闭包除去空串 [....] 多个或者,例如 [abc] 是 a或者b或者c 的意思 [a-z] 表示从a到z中的字母中的任意一个。 [^..] 阅读全文
posted @ 2020-06-24 17:18 GuiQuQu 阅读(167) 评论(0) 推荐(0)
摘要: 1.Modular design 模块化设计 模块化编程想要实现的目标是 高内聚 模块之内高内聚 低耦合 模块之间低耦合 https://blog.csdn.net/caoxuecheng001/article/details/80231220 这个链接介绍了模块之间的耦合和聚合 模块设计的5个原则 阅读全文
posted @ 2020-06-24 16:40 GuiQuQu 阅读(285) 评论(0) 推荐(0)
摘要: 1.Structural Patterns(结构模式) 1.Adapter 适配器 将某个类/接口转换为client期望的其他形式 通过增加一个接口,将已存在的子类封装起来,client面向接口编程,从而隐藏了具体实现子类 举例说明: 如果有一个类LegacyRectangle中一个方法展示一个左上 阅读全文
posted @ 2020-06-23 18:14 GuiQuQu 阅读(152) 评论(0) 推荐(0)
摘要: 复用类型: 白盒复用:源码可见,可修改和扩展 黑盒复用: 源码不可见,不能修改,只能通过API接口使用 一。代码层面的复用 copy--paste 二。模型层面的复用(class and interface) 类复用 继承 inheritance 委托 delegation 库复用(一系列方法API 阅读全文
posted @ 2020-06-22 22:56 GuiQuQu 阅读(215) 评论(0) 推荐(0)
摘要: 一。可变类和不可变类(Mutability and Immutability) 可变类有Mutator方法,不可变类没有Mutator方法,该类一旦被实例化,不能再被改变 二。SnapShot Diagram(程序快照图) 用于描述程序运行时的内部状态。 用于描述程序运行时的内部状态 便于程序员之间 阅读全文
posted @ 2020-06-22 11:58 GuiQuQu 阅读(320) 评论(0) 推荐(0)
摘要: 一。 传统软件开发模型 2个基本模型 线性过程 迭代过程 扩展模型 瀑布模型 增量模型 V字模型 原型过程 螺旋模型 敏捷开发(Agile Development):通过快速迭代和小规模的持续改进,以快速适应变化 二。 Software Configuration Management(SCM) 软 阅读全文
posted @ 2020-06-22 11:51 GuiQuQu 阅读(210) 评论(0) 推荐(0)
摘要: 软件构造的三维视图 一图流 三维视图为Moment/Period Code-level/Compoment-level Bulid-time/Run-time Moment强调瞬时,Period强调在一段时间内(比如说日志记录,版本控制,代码变化等,均是一段时间内发生的事) Code-level是在 阅读全文
posted @ 2020-06-22 11:05 GuiQuQu 阅读(211) 评论(0) 推荐(0)