2025-11-10小记

2025-11-09  本文已影响0人  turn_up22

周一,还好,只有一节课,上午的算法,要交作业,下周是我们组汇报了,不过有人已经把群给建起来了,过几天把活干了就行了。

想着昨天睡的不好,回来大家也都躺着,躺到了3点多起来干活。

下午刷题:
一道简单题

14.最长公共前缀

应该还好,能写出来,就是速度不行,后续优化了下
两道中等

394. 字符串解码

给定一个经过编码的字符串,返回它解码后的字符串。
示例 1:
输入:s = "3[a]2[bc]"
输出:"aaabcbc"
示例 2:
输入:s = "3[a2[c]]"
输出:"accaccacc"

int n=s.size();
        stack<char> ch;
        stack<int> num;
        int i=0;
        while(i<n)
        {
            char c=s[i];
            if(isdigit(c))
            {
                int m=0;
                while(isdigit(s[i]))//放入数字,考虑到数字不一定是个位数
                {
                    int a=s[i]-'0';
                    m=m*10+a;
                    i++;
                }
                num.push(m);
            }
            else
            {
                if(c!=']')//字母放入
                {
                    ch.push(c);
                    i++;
                }
                else
                {
                    string s="";
                    char x=ch.top();
                    while(x!='[')//取出[]里面的内容
                    {
                        s=s+x;
                        ch.pop();
                        x=ch.top();
                    }
                    ch.pop();
                    int c=num.top();
                    num.pop();
                    reverse(s.begin(),s.end());
                    string s1="";
                    for(int j=0;j<c;j++)//排查一下发现是数字没有放进去
                    {
                        s1=s1+s;
                    }
                    for(int j=0;j<s1.size();j++)
                    {
                        ch.push(s1[j]);
                    }
                    i++;
                }
            }
        }
        string s2="";
        while(!ch.empty())
        {
            char a=ch.top();
            ch.pop();
            s2=s2+a;
        }
        reverse(s2.begin(),s2.end());
        return s2;

写的有点繁琐,但原理是这么个原理,还是后续优化的问题
不过中等题自己独立写出来的能过就觉得不错了,后续在多写一点,应该能改好的优化了

347. 前 K 个高频元素

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。
我用的哈希表做的,确实能过,还是速度的问题,但是空间确实也是很低,打败了97%
官方题解给的堆的解法,也整不明白,
提单里面给他放到的是《求前 K 个高频元素》,也不知道是什么意思,不如直接说是堆的训练,不知道后面还有没有堆的训练了,总的大章是放在栈的,可能有关系把,不过还是先往后面放放吧。

总的来说,今天3道题都能独立写出来,虽然不是最优解,不过确实比昨天要舒服了。
还是每天写个1简单2中等差不多,一道困难感觉写不出来,而且看题解都要花好多时间。

晚上依旧是数据库,今天看的是事务,也是基础篇的最后一节了,后面就是进阶篇了。

start transaction ;

#查询张三的余额
select account.money from account where name='张三';
#将张三余额-1000
update account set money=money-1000 where name='张三';
#将李四余额+1000
update account set money=money+1000 where name='李四';

commit ;

rollback ;

然后就去调了下服务器。话说买错了,应该买华东的,买成华中了,感觉用着有点卡手,不知道是软件的问题还是延迟问题,
不过也是用来练手和学习,才38一年,也没什么好说的了。
设置了下finalshell的壁纸,装了下相关软件和重置了数据库的密码,后面应该就能用了。


2025-11-10 215647.png
上一篇 下一篇

猜你喜欢

热点阅读