ARST打卡第235周[235/521]
Algorithm
lc421_数组中两个数的最大异或值
思路:
- 不能直接 O(n^2), 否则会超时
- 按照数位1值进行处理
- 就是数位1最高位和次高非位的两个数异或(实现比较难)
以前做过,但没想到这次又忘了…看看题解吧…
看题解发现确实是这个思路,学习题解实现吧 (自己增加了一些关于其中异或技巧的谜底解释)
1 |
|
Review
【TED演讲】如何看清排名后的真实水平
很多时候,我们天然的结果偏见,会把运气带来的结果看成实力。
因此就会产生很多误解,导致错估一个公司的价值,被其股价蒙蔽。
因此,我们需要通过gamble思维,对核心的指标(比如说队伍的平均进攻数等)计算概率,计算精确的投入产出比,
最终算出真实价值,看清真实排名,看透运气和随机概率下的真实水平。
Tips
Share-引导GPT帮忙处理繁杂无脑的部分
Q:
下面我将会丢入错误信息给你,你通过错误信息来转化成 MOCK_METHODx 模式。先学习参考这个例子: 错误信息为: ../../third-party/rocksdb/output/include/rocksdb/db.h:365:18: note: virtual rocksdb::Status rocksdb::DB::Put(const rocksdb::WriteOptions&, rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, const rocksdb::Slice&)
virtual Status Put(const WriteOptions& options,
^ 转化为: MOCK_METHOD4(Put, rocksdb::Status(const rocksdb::WriteOptions&, rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, const rocksdb::Slice&)); 。 其中 MOCK_METHODx的x为参数个数,你明白了吗,我可能会输入多个错误信息,你输出多个转化,可以吗
A:
明白了,你希望将错误信息转化为相应的 MOCK_METHODx
形式。以下是你提供的示例和转化:
错误信息:
1 | ../../third-party/rocksdb/output/include/rocksdb/db.h:365:18: note: virtual rocksdb::Status rocksdb::DB::Put(const rocksdb::WriteOptions&, rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, const rocksdb::Slice&) |
转化为 MOCK_METHOD4
形式:
1 | MOCK_METHOD4(Put, rocksdb::Status(const rocksdb::WriteOptions&, rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, const rocksdb::Slice&)); |
如果你有更多的错误信息需要转化,只需提供错误信息和我将其转化为 MOCK_METHODx
形式。我将会在每个错误信息后面添加相应的转化。
Q:
先试3个: ../../third-party/rocksdb/output/include/rocksdb/db.h:365:18: note: virtual rocksdb::Status rocksdb::DB::Put(const rocksdb::WriteOptions&, rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&, const rocksdb::Slice&)
virtual Status Put(const WriteOptions& options,
^
../../third-party/rocksdb/output/include/rocksdb/db.h:377:18: note: virtual rocksdb::Status rocksdb::DB::Delete(const rocksdb::WriteOptions&, rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&)
virtual Status Delete(const WriteOptions& options,
^
../../third-party/rocksdb/output/include/rocksdb/db.h:400:18: note: virtual rocksdb::Status rocksdb::DB::SingleDelete(const rocksdb::WriteOptions&, rocksdb::ColumnFamilyHandle*, const rocksdb::Slice&)
virtual Status SingleDelete(const WriteOptions& options,
^
A:
…
后面一步步鼓励,最终一次性完成了所有的转化,虽然这种大批量转化的时候出了7个小错误,但整体还是大大解决了时间,爽。
以下是鼓励的提问:
Q:
做得很好,下面我再传入几个,你直接一起给出转化的结果,不要再复述错误信息了.
…
Q:
做得很好,下面我会继续给错误信息,希望你给出结果时合并到一个文本框内,方便我一次性复制:
…
Q:
做的很好,继续:
…