会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Garrett
博客园
首页
新随笔
联系
订阅
管理
2019年8月18日
java之compare
摘要: public int compare(Object o1, Object o2)本来的顺序就是参数的先后顺序o1、o2;如果保持这个顺序就返回-1,交换顺序就返回1,什么都不做就返回0;所以,升序的话,如果o1<o2,就返回-1。 例:实现二维数组num按第一列升序排列,第一列相同的按第二列降序排列
阅读全文
posted @ 2019-08-18 19:45 GarrettLu
阅读(453)
评论(1)
推荐(1)
2019年4月12日
Java的移位运算符
摘要: 1、左移运算符:<< 丢弃左边指定位数,右边补0。 注意: 当int类型进行左移操作时,左移位数大于等于32位操作时,会先求余(%)后再进行左移操作。也就是说左移32位相当于不进行移位操作,左移40位相当于左移8位(40%32=8)。当long类型进行左移操作时,long类型在二进制中的体现是64位
阅读全文
posted @ 2019-04-12 10:51 GarrettLu
阅读(578)
评论(0)
推荐(0)
2019年4月9日
最少硬币数的找零方案(动态规划)
摘要: 题目描述: 给定需要找零的面值m和可以使用的硬币种类n(假设每种硬币有无限多个),求出用这些硬币找零m所需要的最少硬币数。 输入描述: 第一行包含两个整数:m ,n,意义如题目描述。接下来的 n 行,每行一个整数,第 i + 1 行的整数表示第 i 种硬币的面值。 输出描述: 输出一个整数,表示最少
阅读全文
posted @ 2019-04-09 18:51 GarrettLu
阅读(1208)
评论(0)
推荐(0)
最少的硬币数量组合出1到m之间的任意面值(贪心算法)
摘要: 题目描述: 你有n种不同面值的硬币,每种面值的硬币都有无限多个,为了方便购物,你希望带尽量少的硬币,并且要能组合出 1 到 m 之间(包含1和m)的所有面值。 输入描述: 第一行包含两个整数:m ,n(1 ≤ n ≤ 100,1 ≤ m ≤ 109),意义如题目描述。接下来的 n 行,每行一个整数,
阅读全文
posted @ 2019-04-09 16:37 GarrettLu
阅读(1220)
评论(0)
推荐(0)
2019年4月7日
给你一个只有0和1的字符串,你现在有一个操作,可以把相邻的一对0和1消去,问最后能得到的最短长度
摘要: 题目描述: 给你一个只有0和1的字符串,你现在有一个操作,可以把相邻的一对0和1消去,问最后能得到的最短长度。 输入描述: 一个整数(表示01字符串长度)和一个01字符串。 输出描述: 最后得到的最短长度。 方法1: 分析: 如果相邻两元素的和是1(包含了“01”和“10”两种情况),则将这一对元素
阅读全文
posted @ 2019-04-07 14:50 GarrettLu
阅读(1716)
评论(0)
推荐(0)
2018年12月10日
斐波那契数列的三种C++实现及时间复杂度分析
摘要: 本文介绍了斐波那契数列的三种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
阅读(6755)
评论(0)
推荐(0)
公告