小编Pau*_*596的帖子

按多个属性对对象排序

我一直在努力的东西,需要我对象(软饮料)由三个属性排序- name (str),colour (str)volume (int).我已经研究过,并找到了通过名称,颜色和体积分别订购它们的方法,但有没有办法按三种方式订购它们?

我的意思是:例如,假设有四个SoftDrink对象:Fanta Orange 500,Coke Red 500,Coke Silver 500 Fanta Orange 400.

我正在寻找的输出将是:

  • 1)可乐红500
  • 2)可乐银500
  • 3)芬达橙400
  • 4)芬达橙500

首先按名称排序,然后按颜色排序,然后按体积(升序)排序.

我现在使用三个比较器:nameComparator,colourComparatorvolumeComparator,但是每个比较器只按名称排序对象,然后仅按颜色排序,然后按体积排序.是否可以使用Comparator根据多个属性进行排序?

java

3
推荐指数
1
解决办法
927
查看次数

最坏情况哈希函数

在类中提到的"最坏情况哈希函数,h(x)= 1"

(我的导师已经离开城镇几个星期;我显然会问他是否可以).

我的问题:"最坏情况哈希函数"究竟是什么意思?是这样的,每个元素被赋予相同的值1(或1%tableSize),或者给予elementOne哈希值1,elementTwo 2,elementThree 3,依此类推?

可能是一个菜鸟问题,但我想我无论如何都会问它.

java hash hashtable

2
推荐指数
1
解决办法
525
查看次数

查找整数的最大可能总和/乘积组合

给定N个整数列表的输入始终以1开头,例如:1,4,2,3,5.并且一些目标整数为T.

按顺序处理列表,算法决定是否按当前分数添加或乘以数字以实现最大可能输出<T.

例如:[输入] 1,4,2,3,5 T = 40

1 + 4 = 5
5 * 2 = 10
10 * 3 = 30
30 + 5 = 35 which is < 40, so valid.
Run Code Online (Sandbox Code Playgroud)

1 * 4 = 4
4 * 2 = 8
8 * 3 = 24
24 * 5 = 120 which is > 40, so invalid.
Run Code Online (Sandbox Code Playgroud)

我在算法中将其概念化时遇到了麻烦 - 我只是在寻找有关如何考虑它或最多伪代码的建议.我该怎么做呢?

我的第一直觉是将+/*视为1/0,然后测试排列如0000(其中长度== N-1,我认为),然后是0001,然后是0011,然后是0111,然后是1111,然后是1000,等等

但是我不知道如何将它放入伪代码中给出一般N个整数.任何帮助,将不胜感激.

algorithm

1
推荐指数
1
解决办法
67
查看次数

标签 统计

java ×2

algorithm ×1

hash ×1

hashtable ×1