Algorithm
lc2070_每一个查询的最大美丽值
思路:
很显然,这是一个背包dp问题,dp处理选择与不选择的最大美丽值。
因为这里的查询值是离散的,所以可以排序处理,后面再按原数组的位置返回即可。
自己有点忘了实现细节,让claude帮忙写下,自己复习。
吐血,我就说为啥claude一直只选择一个元素,原来原题就是说只选一个元素,审题没审清,尴尬
发现题解是用的 upper_bound - 1
+ 直接修改美丽值 做的,所以不按照美丽值降序也行。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
impl Solution {
pub fn maximum_beauty(items: Vec<Vec<i32>>, queries: Vec<i32>) -> Vec<i32> {
// 创建查询索引,以便后面还原顺序
let n = queries.len();
let mut indexed_queries: Vec<(i32, usize)> = queries.into_iter().enumerate().map(|(i, q)| (q, i)).collect();
indexed_queries.sort_unstable(); // 按查询值排序
// 按价格排序物品,价格相同时按美丽值降序排序
let mut sorted_items = items;
sorted_items.sort_unstable_by(|a, b| {
if a[0] == b[0] {
b[1].cmp(&a[1]) // 价格相同时,按美丽值降序
} else {
a[0].cmp(&b[0])
}
});
// 预处理每个价格点的最大美丽值
let m = sorted_items.len();
let mut max_beauty = vec![0; m];
max_beauty[0] = sorted_items[0][1];
for i in 1..m {
// 对于每个物品,最大美丽值是当前物品的美丽值或之前的最大美丽值
max_beauty[i] = max_beauty[i-1].max(sorted_items[i][1]);
}
let mut result = vec![0; n];
// 对于每个查询,二分查找不超过查询价格的最大索引
for (query, original_idx) in indexed_queries {
// 二分查找
match sorted_items.binary_search_by(|item| {
if item[0] == query {
std::cmp::Ordering::Equal
} else {
item[0].cmp(&query)
}
}) {
Ok(idx) => {
// 找到精确匹配,使用该位置的最大美丽值
result[original_idx] = max_beauty[idx];
}
Err(idx) => {
if idx > 0 {
// 使用小于查询价格的最大美丽值
result[original_idx] = max_beauty[idx - 1];
}
}
}
}
result
}
}
|
Review
停止迎合数字技术,重新重视人类创造力!【TED演讲】
科技应该造福人类,而不是优化取代人类。
Tips
Deep Dive Into SIMD-0228
Share
solana depin深圳2025.3.8记录分享
有报名限额,很多人没报名上,后面现场挤满了人,估计近400多人到场,以至于很多人都是站着的。
i人社恐犯了,先听了2小时的depin的ppt分享。然后突破去开始 networking 大胆社交。
分享交流到的几个比较有意思的观点:
- 不需要赚无穷无尽的钱,了解自己需要多少钱,然后完成自己的kpi就行了,不用和别人攀比。
- 很少有人靠做项目做到fire,很多人都是靠交易,如果没有金融知识,可以只炒btc。
- 钱5年后还是钱,但是skill(编程等)可能5年后不一定有用了,skill也是为了搞钱。
- 其实 Trump 对币圈的影响没那么大,币圈还是会继续向前,只是目前流动性比较差,总体还是会好起来。
- 等流动性好起来,才有可能有 ALT coin (btc之外的coin) 的季节。
- 梭哈不梭哈主要看自己,这别人给不了建议的,并且焦虑情绪也得靠自己调节,留好风险金,然后可以做自己想做的事情。
- 有个哥们觉得美元11%的债务率太高,会导致股市,货币闪崩一次,因此他只有1wRMB和全Crypto.
感想:
- 很多朋友都非常精力旺盛,非常热情洋溢
- 大胆点,没啥好怕的,大家都非常nice
- 和hk哥们用中文聊,后面让他用英文和我沟通,发现自己英文听力还得持续锻炼
- 对大佬祛魅,多数大佬都是慷慨谦逊分享的,所以大胆社交,并且努力build自己,将来的自己也能输出观点帮助别人