2018年8月18日
摘要: 它们两个的数值变化的区别,我这里就不多说了 这里主要说明两者在效率上的区别 (1)首先如果是自带的数据类型,比如int型,++i和i++,编译器的实现方式是相同的,两者并没有效率上的区别,虽然也有副本的开销,但是一般编译器会优化。 (2)如果是自定义的数据类型,比如自己定义的类。这个时候两者就有了区 阅读全文
posted @ 2018-08-18 23:23 Mini_Coconut 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 菱形继承 主要出现在多重继承中。经常会出现的问题就是二义性。 上述代码中,老虎类和狮子类继承于动物这个基类,但是狮虎兽这个类同时继承于老虎类和狮子类,那么当出现下面的代码就会出现编译错误 因为编译器不知道该调用哪个父类的getWeight()函数,Liger多重继承了Tiger和Lion类,因此Li 阅读全文
posted @ 2018-08-18 23:12 Mini_Coconut 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 所谓的二分图,就是指图中的所有顶点可以分为两个集合A和B,并且图中的每条边的两个顶点都是一个在A,一个在B,则该图是一个二分图。 下面我们来解释几个关于二分图的一些相关概念。 (1)最大匹配 在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,则称M是一个匹配。选择这样的边数最大的子集称 阅读全文
posted @ 2018-08-18 22:42 Mini_Coconut 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 给定一组 N 人(编号为 1, 2, ..., N), 我们想把每个人分进任意大小的两组。 每个人都可能不喜欢其他人,那么他们不应该属于同一组。 形式上,如果 dislikes[i] = [a, b],表示不允许将编号为 a 和 b 的人归入同一组。 当可以用这种方法将每个人分进两组时,返回 tru 阅读全文
posted @ 2018-08-18 22:33 Mini_Coconut 阅读(1552) 评论(0) 推荐(0) 编辑