水果

造轮子的时候不敢用不会用泛型?那你看这篇就够了!

烂漫一生 提交于 2020-04-07 11:53:02
解决许多java开发 或者android开发 在平时写一些基础架构,或者是造一些轮子的时候不敢用泛型,用不好泛型的问题。甚至有些人使用泛型的时候报错都只会用idea提示的方法来修改代码,却不知这样改的原因,也不知道强转泛型会有什么恶果。 泛型用来解决什么问题 先定义一个模仿List 的泛型list。我们来看看这个乞丐版的list能帮我们做什么事 public class CustomList<T> { Object[] array = new Object[0]; ​ public T get(int index) { return (T) array[index]; } ​ public void add(T instance) { array[array.length - 1] = instance; } } 看看怎么使用他 CustomList<String> customList = new CustomList<>(); customList.add("hahahaha"); String c = customList.get(0); 到这,我们来看看 到底有啥好处。首先看这个add方法,有了泛型以后,我们就不需要担心类型转换错误了。 因为我们在定义的时候 指定了泛型的类型,所以如果我们在调用add方法的时候传了一个 非string类型的 那么ide就会报错了

哈夫曼树应用——九度OJ题目1107:搬水果

巧了我就是萌 提交于 2020-03-19 08:42:55
哈夫曼算法 1、将所有结点放入集合K。 2、若集合K中剩余结点大于2个,则取出其中权值最小的两个结点,构造他们同时为某个新节点的左右儿子,该新节点是他们共同的双亲结点,设定它的权值为其两个儿子结点的权值和。并将该父亲结点放入集合K。重复步骤2或3。 3、若集合K中仅剩余一个结点,该结点即为构造出的哈夫曼树数的根结点,所有构造得到的中间结点(即哈夫曼树上非叶子结点)的权值和即为该哈夫曼树的带权路径和。 注:使用STL中的优先队列priority_queue可以很容易地实现哈夫曼树,详情见例题。 题目1107:搬水果 题目描述: 在一个果园里,小明已经将所有的水果打了下来,并按水果的不同种类分成了若干堆,小明决定把所有的水果合成一堆。每一次合并,小明可以把两堆水果合并到一起,消耗的体力等于两堆水果的重量之和。当然经过 n‐1 次合并之后,就变成一堆了。小明在合并水果时总共消耗的体力等于每次合并所耗体力之和。 假定每个水果重量都为 1,并且已知水果的种类数和每种水果的数目,你的任务是设计出合并的次序方案,使小明耗费的体力最少,并输出这个最小的体力耗费值。例如有 3 种水果,数目依次为 1,2,9。可以先将 1,2 堆合并,新堆数目为3,耗费体力为 3。然后将新堆与原先的第三堆合并得到新的堆,耗费体力为 12。所以小明总共耗费体力=3+12=15,可以证明 15 为最小的体力耗费值。 输入

java实现简单工厂模式

一曲冷凌霜 提交于 2020-03-16 21:19:20
昨天看了一下设计模式,复习了一下简单工厂模式,做个笔记,浅淡一下我对简单工厂模式的理解。书上使用的是C#,因为我所学的是Java,所以本人就用Java实现了一遍。如果有讲的不对的地方,希望能够指出来。简单工厂设计模式可以简单地理解为,你拿着一个空口袋去水果店买水果,你把空袋子给水果店老板,然后对老板讲我需要一袋子的柚子,十分钟以后。老板递给你一袋子柚子。你不需要知道他们是怎么区分柚子和橘子,又是怎么把柚子装进袋子的。你只需要知道你去了水果店,告诉他你需要一袋柚子。   代码可以简单理解为,水果店,水果和柚子三部分。如果不谈用户交互界面的话,能和你直接接触的是水果店,下面这段代码可以理解为水果店,用来创造水果的。你可以告诉他你需要什么样的水果,他会返回你一袋水果。 下面是水果的代码,定义了水果的共性和方法: package cn.cyy; public abstract class Fruit { protected double weight; public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } public abstract void getResult(); } 下面是水果店的代码,水果店就可以看做是工厂

油腻食物和解油腻

半城伤御伤魂 提交于 2020-03-16 09:44:26
解油腻食物: 牛奶  葡萄  玉米  苹果   大蒜   韭菜   洋葱   香菇   冬瓜   胡萝卜   海带   山楂  木耳 橙子  奇异果(猕猴桃)  芹菜   茶(大麦茶、普洱茶) 来源: https://www.cnblogs.com/hnqm/p/12501848.html

番茄工作法——控制拖延症番茄做到了

妖精的绣舞 提交于 2020-03-01 04:57:37
在工作的三年时间里,总是被各种内部和外界事情干扰,偶然间想起了著名的番茄工作法,便从公司的书柜上借来想参考一下对于时间的管理方法,并着手运用到工作中。我把书中学习到的记录了下来: 番茄工作法的操作很简单,就像他的封面一下,只需要一个番茄钟,一支笔和三个清单,便具有集中注意力,控制拖延习惯,提升个人生产力的神器魔力。 所需工具: 番茄钟一枚(可以是手机APP) 铅笔一支(最好带橡皮) 纸质表格三张(白纸即可,横格纸更好) “今日待办”表格 “活动清单”表格 记录表格 基本方法: 将要完成的活动全部填入“活动清单”表格,每天清晨从其中选出数项要在今天进行的活动,填入“今日待办”表格。 在“今日待办”中选择一项最重要的活动; 启动番茄钟,时间设定为25分钟; 开始工作,直到番茄钟响…… 在“今日待办”表格该活动右侧标一个× 休息片刻(3~5分钟) 开始下一个番茄钟,继续工作,直到完成这项活动,在“今日待办”表格上划掉它; 每四个番茄钟后,多休息一会儿(15~30分钟) 刚开始使用这种方式工作,总会着眼于时间上,工作不集中时会想怎么还没到点,投入时又恍然发现这么快就到了,不过通过中间短暂的休息,确实可以提高效率,着眼于手中的工作,时间问题只需要慢慢适应即可。 千里之行,始于足下。 来源: CSDN 作者: 小白菜谱 链接: https://blog.csdn.net/qq_30404223

笔试题-二元一次方程求解

点点圈 提交于 2020-02-26 07:35:38
二元一次方程求解 ■题目描述 深信服经常给员工发放下午茶,为保证新鲜,下午茶需要当天采 购。 下午茶有水果和面点两种类型,其中水果和面点都有单独的采购 价格,它们的价格都是整数元。 某次,负责采购的阿姨忘记了水果和面点各自的价格,但她保存 了两天的采购的记录:第一天采购了a1份水果, b1份面点,总花费 c1元。第二天采购了a2份水果,b2份面点,总花费c2元。 阿姨希望你帮她计算,水果和面点的实际价格分别是多少。 输入描述: 第一行一个正整数T(T<=100),表示有T组测试数据。 接下来工行,每行6个整数,a1, b1, c1, a2, b2, c2。(所 有数字都>=0且<=1000, 000, 000。它们的意义如题所述) 有50%的数据案例,上述六个数都属于区间 [1, 100];而1008 的数据案例,上述六个数都属 于区间[0, 1e9]。 输出描述: 输出T行。 若对应的测试数据存在唯一的解,并且解正整数解,则输出两个 整数,表示水果和面点的价格。 若存在多解,或者水果和面点的价格可能不是正整数,则输出 UNKNOWN。 (注:只要水果和面点的价格有可能不是正整数,就应输出 UNKNOWN 示例1输入输出示例仅供调试,后台判题数据一般不包含示例 输入 3 1 2 3 4 5 9 1 2 3 4 5 6 1 2 3 3 6 9 输出 1 1 UNKNOWN

好吃的

与世无争的帅哥 提交于 2020-02-25 15:21:44
很久不逛超市,都忘了什么好吃了,以后要记录下来,买给自己吃,把自己放在心上。 零食: 乐奈雪花酥 (10块钱一包,一包6块):微微甜,不腻,好吃。 卫龙亲嘴烧 卫龙辣条 金丝猴奶糖 白色恋人饼干 必胜客炒饭 肯德基早饭汉堡饼 绿盛手撕素牛排 炫迈果力全开薄荷糖(球形的罐子,胖胖的糖) 水果: 爱媛38橙子(没有之一,绝对好吃) 西瓜8428沙地长的那种 来源: oschina 链接: https://my.oschina.net/wuyizhong/blog/3157647

【Leetcode】994. Rotting Oranges

你。 提交于 2020-02-17 15:02:42
题目地址: https://leetcode.com/problems/rotting-oranges/ 给定一个int矩阵, 0 0 0 表示空格子, 1 1 1 表示是个新鲜的橘子, 2 2 2 表示是个腐烂的橘子。每过一分钟,腐烂的橘子会将其相邻的新鲜的橘子变腐烂。问最少经过多少分钟,整个矩阵里就没有新鲜的橘子了。如果最终确实没有新鲜橘子了,返回分钟数;否则返回 − 1 -1 − 1 。 思路是BFS,先将所有烂橘子的坐标入队,然后像BFS一个图一样遍历这个矩阵。每poll一个坐标出来,就将其四周的 1 1 1 变为 2 2 2 ,并且将新的值为 2 2 2 的坐标入队,接下来再腐烂周围的橘子。每遍历一层,都要做一下标记,即当前层是否有新的新鲜橘子被感染,如果是,就将分钟数 + 1。由于还需要统计是否是所有的橘子都腐烂了,我们需要保存一个变量来存储当前有多少橘子是好的。最后返回时也要check一下是否有好的橘子剩下。代码如下: import java . util . LinkedList ; import java . util . Queue ; public class Solution { public int orangesRotting ( int [ ] [ ] grid ) { // 判空 if ( grid == null || grid . length

每个月每个季节成熟的水果

别来无恙 提交于 2020-02-15 01:29:04
1月(冬季) 木瓜 红香蕉 樱桃番茄 杨桃 柑橘橙 青枣 甘果蔗 草莓 番石榴 牛奶蕉 柑桔 观赏南瓜 无花果 鹤首瓜 2月(冬季) 木瓜 红香蕉 樱桃番茄 杨桃 番荔枝 青枣 甘果蔗 草莓 番石榴 牛奶蕉 柑桔 观赏南瓜 鹤首瓜 3月(春季) 枇杷 红香蕉 樱桃番茄 杨桃 番荔枝 青枣 甘果蔗 草莓 番石榴 牛奶蕉 柑桔 观赏南瓜 果桑 鹤首瓜 蛇瓜 4月(春季) 枇杷 红香蕉 樱桃番茄 荔枝 番荔枝 蛇瓜 甘果蔗 果桑 番石榴 牛奶蕉 鹤首瓜 观赏南瓜 澳州坚果 柠檬 5月(春季) 芒果 红香蕉 樱桃番茄 荔枝 番荔枝 蛇瓜 黄皮 果桑 番石榴 牛奶蕉 鹤首瓜 观赏南瓜 李 西瓜 桃 香瓜 柠檬 台湾莲雾 澳州坚果 油梨 6月(夏季) 芒果 红香蕉 樱桃番茄 荔枝 番荔枝 蒲瓜 黄皮 果桑 番石榴 牛奶蕉 鹤首瓜 观赏南瓜 李 西瓜 桃 香瓜 柠檬 台湾莲雾 澳州坚果 菠萝 火龙果 油梨 7月(夏季) 芒果 红香蕉 樱桃番茄 荔枝 番荔枝 蒲瓜 黄皮 番龙眼 番石榴 牛奶蕉 鹤首瓜 观赏南瓜 李 西瓜 桃 香瓜 柠檬 台湾莲雾 澳州坚果 菠萝 火龙果 油梨 龙眼 百香果 菠萝蜜 8月(夏季) 芒果 红香蕉 樱桃番茄 木瓜 番荔枝 蒲瓜 杨桃 番龙眼 番石榴 牛奶蕉 鹤首瓜 观赏南瓜 日本甜柿 西瓜 黑提子 香瓜 柠檬 菠萝蜜 澳州坚果 菠萝 火龙果 油梨 龙眼 百香果 9月