Contents

ARST打卡第276周

lc3137_K周期字符串需要的最少操作次数 如何在疯狂忙碌中保持冷静专注?【TED演讲】 cursor编辑器 golang VSCode接口跳转

Algorithm

lc3137_K周期字符串需要的最少操作次数

思路:

因为这里 i,j 都是 k 的因数,所以可以把k字符串组看成一个字母。

然后用总"字母"减去最大出现次数的字母数就行了。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
class Solution {
public:
    int minimumOperationsToMakeKPeriodic(string word, int k) {
        unordered_map<string, int> cnt;
        int n = word.length();
        for (int i = 0; i < n; i += k) {
            cnt[word.substr(i, k)]++;
        }
        int max_cnt = 0;
        for (auto& wc : cnt) {
            max_cnt = max(wc.second, max_cnt);
        }
        return n/k - max_cnt;
    }
};

跟题解思路一致,不过题解把减去最大值放到了同一个for循环里面,学习一下其中的rust写法。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
use std::collections::HashMap;
use std::cmp::min;

impl Solution {
    pub fn minimum_operations_to_make_k_periodic(word: String, k: i32) -> i32 {
        let n = word.len();
        let mut res: i32 = 0x3f3f3f3f;
        let mut count: HashMap<String, i32> = HashMap::new();
        let mut i = 0;
        while i < n {
            let mut part = &word[i..(i + k as usize)];
            *count.entry(part.to_string()).or_insert(0) += 1;
            res = min(res, n as i32 / k - *count.get(part).unwrap());
            i += k as usize;
        }
        res
    }
}
// 链接:https://leetcode.cn/problems/minimum-number-of-operations-to-make-word-k-periodic/solutions/2878600/k-zhou-qi-zi-fu-chuan-xu-yao-de-zui-shao-vw1b/

Review

如何在疯狂忙碌中保持冷静专注?【TED演讲】

一位急诊室医生在TED演讲中分享了如何在极端忙碌与压力下保持冷静与专注。 她指出,“忙疯了”实际上反映出的是我们对忙碌的错误应对方式,导致应激激素升高、执行控制力下降。

她提倡

  • 采用“准备就绪模式”,通过分类紧急事件,识别真正需要紧急处理的“红色事项”,并学会放弃那些无法解决的“黑色任务”。
  • 建议通过预测忙碌并提前规划、减少生活中的选择。
  • 以及清除脑海中的杂念来减少疯狂模式的发生。例如,专注于面前的人及其需要,用同情心拓宽感知,做出更好的决策。

最后,她强调从疯狂模式转变为就绪模式不仅能够提升个人应对压力的能力,还能影响周围的人,共同创造更有效的工作环境。

Tips

cursor编辑器

基于VSCode高版本开发的,无缝衔接导入VSCode所有的插件,支持免费使用各种AI编程助手。

Share

golang VSCode接口跳转

ctrl + shift + p 跳出的命令中搜 Go:install , 全选安装

f.wdata.Write(ctx, uint64(offset), b) 还是始终跳转到接口处…

看到 v2ex 上面写的,直接右键然后选择"跳转实现"确实能跳转实现。

但是为啥不默认跳转实现呢?可能是默认跳转相关声明吧。

好吧,只能 gd(和ctrl+鼠标点一样) 不行就 ctrl+F12 了。

发现 ctrl+F12 有时候也不好用,所以和 gd 轮流用就好了。