摘要: public int compare(Object o1, Object o2)本来的顺序就是参数的先后顺序o1、o2;如果保持这个顺序就返回-1,交换顺序就返回1,什么都不做就返回0;所以,升序的话,如果o1<o2,就返回-1。 例:实现二维数组num按第一列升序排列,第一列相同的按第二列降序排列 阅读全文
posted @ 2019-08-18 19:45 GarrettLu 阅读(440) 评论(1) 推荐(1) 编辑
摘要: 1、左移运算符:<< 丢弃左边指定位数,右边补0。 注意: 当int类型进行左移操作时,左移位数大于等于32位操作时,会先求余(%)后再进行左移操作。也就是说左移32位相当于不进行移位操作,左移40位相当于左移8位(40%32=8)。当long类型进行左移操作时,long类型在二进制中的体现是64位 阅读全文
posted @ 2019-04-12 10:51 GarrettLu 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给定需要找零的面值m和可以使用的硬币种类n(假设每种硬币有无限多个),求出用这些硬币找零m所需要的最少硬币数。 输入描述: 第一行包含两个整数:m ,n,意义如题目描述。接下来的 n 行,每行一个整数,第 i + 1 行的整数表示第 i 种硬币的面值。 输出描述: 输出一个整数,表示最少 阅读全文
posted @ 2019-04-09 18:51 GarrettLu 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 你有n种不同面值的硬币,每种面值的硬币都有无限多个,为了方便购物,你希望带尽量少的硬币,并且要能组合出 1 到 m 之间(包含1和m)的所有面值。 输入描述: 第一行包含两个整数:m ,n(1 ≤ n ≤ 100,1 ≤ m ≤ 109),意义如题目描述。接下来的 n 行,每行一个整数, 阅读全文
posted @ 2019-04-09 16:37 GarrettLu 阅读(1128) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给你一个只有0和1的字符串,你现在有一个操作,可以把相邻的一对0和1消去,问最后能得到的最短长度。 输入描述: 一个整数(表示01字符串长度)和一个01字符串。 输出描述: 最后得到的最短长度。 方法1: 分析: 如果相邻两元素的和是1(包含了“01”和“10”两种情况),则将这一对元素 阅读全文
posted @ 2019-04-07 14:50 GarrettLu 阅读(1629) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了斐波那契数列的三种C++实现并详细地分析了时间复杂度。 斐波那契数列定义:F(1)=1, F(2)=1, F(n)=F(n-1) + F(n-2) (n>2) 如何计算斐波那契数 F(n) 及时间复杂度 T(n) 呢? 我参考了一些资料总结了以下3种方法:递归法、顺序法和矩阵乘法,并给出了 阅读全文
posted @ 2018-12-10 21:25 GarrettLu 阅读(6276) 评论(0) 推荐(0) 编辑