好耐冇開過programming post!

42 回覆
8 Like 2 Dislike
2017-03-19 04:26:28
即場問你一條問題!

有個賊走左入珠寶鋪爆格,佢最多可以拎n kg既野走人,呢到有一堆珠寶

Name Price Weight
A 163 12
B 221 31
C 124 5
D 582 20
E 631 30
F 198 7
G 317 20
...

求個賊最多可以拎到幾多錢既珠寶走
2017-03-19 04:28:06
請用code implement
呢條係一條經典既algorithm題目,knapsack problem
最好唔好google搵solution黎答試下靠自己
2017-03-19 06:09:24
我想問stm32 HAL driver 既uart Dma buffer 點寫 Receive Interrupt唔到
2017-03-19 06:41:33
我想問stm32 HAL driver 既uart Dma buffer 點寫 Receive Interrupt唔到


你有冇download stm32CubeMX,或者例如你粒MCU係stm32f3, 就直接download stm32CubeF3, 再睇佢裡面for 唔到development board 嘅sample code, 一般都有UART with DMA 嘅example
2017-03-19 07:04:37
除左recurrsion真係唔識,乖乖地Google
2017-03-19 07:43:53
when n = 0, max weight = 0
when n = 1, max weight = 0
when n = 2, max weight = 0
when n = 3, max weight = 0
when n = 4, max weight = 0
when n = 5, max weight = 124
when n = 6, max weight = 124
when n = 7, max weight = 198
when n = 8, max weight = 198
when n = 9, max weight = 198
when n = 10, max weight = 198
when n = 11, max weight = 198
when n = 12, max weight = 322
when n = 13, max weight = 322
when n = 14, max weight = 322
when n = 15, max weight = 322
when n = 16, max weight = 322
when n = 17, max weight = 322
when n = 18, max weight = 322
when n = 19, max weight = 361
when n = 20, max weight = 582
when n = 21, max weight = 582
when n = 22, max weight = 582
when n = 23, max weight = 582
when n = 24, max weight = 582
when n = 25, max weight = 706
when n = 26, max weight = 706
when n = 27, max weight = 780
when n = 28, max weight = 780
when n = 29, max weight = 780
when n = 30, max weight = 780
when n = 31, max weight = 780
when n = 32, max weight = 904
when n = 33, max weight = 904
when n = 34, max weight = 904
when n = 35, max weight = 904
when n = 36, max weight = 904
when n = 37, max weight = 904
when n = 38, max weight = 904
when n = 39, max weight = 943
when n = 40, max weight = 943
when n = 41, max weight = 943
when n = 42, max weight = 953
when n = 43, max weight = 953
when n = 44, max weight = 1067
when n = 45, max weight = 1067
when n = 46, max weight = 1067
when n = 47, max weight = 1097
when n = 48, max weight = 1097
when n = 49, max weight = 1097
when n = 50, max weight = 1213
when n = 51, max weight = 1213
when n = 52, max weight = 1221
when n = 53, max weight = 1221
when n = 54, max weight = 1221
when n = 55, max weight = 1337
when n = 56, max weight = 1337
when n = 57, max weight = 1411
when n = 58, max weight = 1411
when n = 59, max weight = 1411
when n = 60, max weight = 1411
when n = 61, max weight = 1411
when n = 62, max weight = 1535
when n = 63, max weight = 1535
when n = 64, max weight = 1535
when n = 65, max weight = 1535
when n = 66, max weight = 1535
when n = 67, max weight = 1535
when n = 68, max weight = 1535
when n = 69, max weight = 1574
when n = 70, max weight = 1574
when n = 71, max weight = 1574
when n = 72, max weight = 1574
when n = 73, max weight = 1574
when n = 74, max weight = 1698
when n = 75, max weight = 1698
when n = 76, max weight = 1698
when n = 77, max weight = 1728
when n = 78, max weight = 1728
when n = 79, max weight = 1728
when n = 80, max weight = 1728
when n = 81, max weight = 1728
when n = 82, max weight = 1852
when n = 83, max weight = 1852
when n = 84, max weight = 1852
when n = 85, max weight = 1852
when n = 86, max weight = 1852
when n = 87, max weight = 1852
when n = 88, max weight = 1852
when n = 89, max weight = 1891
when n = 90, max weight = 1891
when n = 91, max weight = 1891
when n = 92, max weight = 1891
when n = 93, max weight = 1891
when n = 94, max weight = 2015
when n = 95, max weight = 2015
when n = 96, max weight = 2015
when n = 97, max weight = 2015
when n = 98, max weight = 2015
when n = 99, max weight = 2015
when n = 100, max weight = 2015
...
2017-03-19 08:21:12
max price 定weight
2017-03-19 12:13:17
我想問stm32 HAL driver 既uart Dma buffer 點寫 Receive Interrupt唔到


你有冇download stm32CubeMX,或者例如你粒MCU係stm32f3, 就直接download stm32CubeF3, 再睇佢裡面for 唔到development board 嘅sample code, 一般都有UART with DMA 嘅example

一直都用cube,但example太少
2017-03-19 12:49:59
munkres algorithm ?
2017-03-19 14:09:13
max price 定weight

係 when n = XX, max price = YY 先啱
2017-03-19 14:25:23
初心者 係學校讀緊java留名學野
2017-03-19 21:28:47
寫完呢個喇
有冇下一題?
2017-03-19 21:49:37
munkres algorithm ?


上網睇過好似係one to one關係, 好似唔岩用
2017-03-20 12:54:34
經典DP
2017-03-20 13:20:14
答到一半發覺唔work
偷偷地去google
np complete
2017-03-20 13:27:47
做緊,等陣post上黎睇下岩唔岩
2017-03-20 13:34:47
package lihkg_problem_package;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

public class Lihkg_Problem {

public static void main(String[] args) {

List<Jewelry> _list = new ArrayList<>();
_list.add(new Jewelry(163, 12));
_list.add(new Jewelry(221, 31));
_list.add(new Jewelry(124, 5));
_list.add(new Jewelry(582, 20));
_list.add(new Jewelry(631, 30));
_list.add(new Jewelry(198, 7));
_list.add(new Jewelry(317, 20));

_list = _list.stream().sorted(Comparator.comparing(Jewelry::get_cost_effective).reversed())
.collect(Collectors.toList());

for (int i = 1; i < 101; i++) {
System.out.println("n = " + i + " ,price = " + most_value(_list, i));
}

}

private static double most_value(List<Jewelry> _list, double n) {

if (_list.size() == 0 || _list.stream().min(Comparator.comparing(e -> e.weight)).get().weight > n) {
return 0;
}

List<Jewelry> _list_new = _list.stream().filter(e -> e.weight <= n).collect(Collectors.toList());
double global_solution = 0;

for (Jewelry item : _list_new) {

double solution =
item.price + most_value(_list_new.stream().filter(e -> e != item).collect(Collectors.toList()),
n - item.weight);
global_solution = Math.max(global_solution, solution);

}

return global_solution;

}

}

class Jewelry {

public final double price;
public final double weight;
public final double cost_effective;

public Jewelry(double price, double weight) {

this.price = price;
this.weight = weight;
this.cost_effective = price / weight;
}

public Double get_cost_effective() {

return cost_effective;
}

}



同上面個solution一樣answer,不過計埋性價比好似好無謂
2017-03-20 13:41:50
就咁計都未識計
2017-03-20 15:07:53
2017-03-20 21:33:32
每樣珠寶可以拎一件定多件?

例如n = 34:

每樣拎一件: D + C + F = 904
每樣拎多件: D + (F * 2) = 978
2017-03-20 22:56:22
珠寶是否必須整件拿走還是可以分割只拿部份也有很大影響
2017-03-21 09:13:14
每樣珠寶可以拎一件定多件?

例如n = 34:

每樣拎一件: D + C + F = 904
每樣拎多件: D + (F * 2) = 978

每樣珠寶得一件
2017-03-21 09:13:25
珠寶是否必須整件拿走還是可以分割只拿部份也有很大影響

不可切割
2017-03-21 16:30:43
0 < n <= sum of weight of all jewelry ?
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞