前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第87场周赛

第87场周赛

作者头像
用户1145562
发布2020-10-23 16:06:08
2950
发布2020-10-23 16:06:08
举报
文章被收录于专栏:LC刷题LC刷题

传送门

844. 比较含退格的字符串

题解:日常水题,根据描述,按照描述来干了。

代码语言:javascript
复制
bool backspaceCompare(string S, string T) {
        string s_tmp = enterStr(S);
        string t_tmp = enterStr(T);
        return s_tmp== t_tmp;
    }
    string enterStr(string &s){
        if(s.length()==0) return "";
        string ret = "";
        for(int i=0;i<s.length();i++){
            if(s[i]=='#'&&(ret.length()>0)) ret.erase(ret.end()-1);
            else if(s[i]=='#'&&(ret.length()==0))continue;
            else ret+=s[i];
        }
        return ret;
    }
845. 数组中的最长山脉

题解:超喜欢这类写的工工整整的题目。根据描述,只要我们遍历数组,找到符合山脉条件(中间的山要高于两侧)的位置,然后以该位置为中心,向左右拓展。(改一下写代码习惯,括号另起一行书写)

代码语言:javascript
复制
int longestMountain(vector<int>& A)
    {
        if(A.size()<3) return 0;
        int ret = 0;
        for(int i=1;i<A.size()-1;i++)
        {
            if(A[i]>A[i-1]&&A[i]>A[i+1])
            {
                int tmp=3;
                int left = i-1;
               	while(left>0 &&A[left]>A[left-1])
                {
                    tmp++;
                    left--;
                }
                int right = i+1;
               while(right<A.size()-1&&A[right]>A[right+1])
                {
                    tmp++;
                    right++;
                }
                ret=max(ret,tmp);
            }
        }
        return ret;
    }
846. 一手顺子

题解:根据描述,只需要对手上所有的牌建立一个map,每三张连续的牌的val-1,一直检测,若不能检测到连续的牌,return false。

代码语言:javascript
复制
bool isNStraightHand(vector<int>& hand, int W) {
        int n = hand.size();
        if(n % W != 0) return false;
        map<int,int> mp;
        for(auto &i : hand) mp[i]++;
        for(auto it = mp.begin();it != mp.end();){
            while(it!=mp.end() && it->second <= 0) it++;
            if(iter == mp.end()) break;
            int cm = it->first,cnt = 0;
            for(cnt = 0;cnt < W;++cnt) {
                if(mp[cm] > 0){
                    mp[cm]--;
                    cm++;
                }
                else return false;
            }
        }
        return true;
    }
847. 访问所有节点的最短路径
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 844. 比较含退格的字符串
  • 845. 数组中的最长山脉
  • 846. 一手顺子
  • 847. 访问所有节点的最短路径
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档