首页 > 其他分享 > 第 390 场周赛记录-快手

第 390 场周赛记录-快手

时间:2024-03-24 12:11:06浏览次数:12  
标签:周赛 cnt charAt 快手 int 390 字符串 数组 letter

1. 每个字符最多出现两次的最长子字符串

给你一个字符串 s ,请找出满足每个字符最多出现两次的最长子字符串,并返回该子字符串的 最大 长度。

示例 1:

输入: s = "bcbbbcba"

输出: 4

解释:

以下子字符串长度为 4,并且每个字符最多出现两次:"bcbbbcba"

示例 2:

输入: s = "aaaa"

输出: 2

解释:

以下子字符串长度为 2,并且每个字符最多出现两次:"aaaa"

提示:

  • 2 <= s.length <= 100
  • s 仅由小写英文字母组成。

✏️ 题解

求连续子字符串,且需要遍历,用滑动窗口解决。

class Solution {
    public int maximumLengthSubstring(String s) {
        // 滑动窗口 + 哈希(小写英文字母可以用数组记录数字
        // 每个字符最多出现两次:则子字符串的长度最小都为 2
        if(s.length() == 2)return 2;
        int len = 0;
        int[] letter_cnt = new int[26];
        int i = 0;
        int j = 1;
        // j - i >= 1恒成立
        letter_cnt[s.charAt(i)-'a']++;
        // letter_cnt[s[j]-'a']++;
        while(j < s.length()){
            if(letter_cnt[s.charAt(j)-'a'] == 2){
                // 字符串中重复字符出现次数超过 2
                while(s.charAt(i) != s.charAt(j)){
                    letter_cnt[s.charAt(i) - 'a']--;
                    i++;
                }
                letter_cnt[s.charAt(i) - 'a']--;
                i++;
            }else{
                letter_cnt[s.charAt(j)-'a']++;
                len = Math.max(j+1-i,len);
                j++;
            }
            
        }
        return len;
    }
}

2. 执行操作使数据元素之和大于等于 K

给你一个正整数 k 。最初,你有一个数组 nums = [1]

你可以对数组执行以下 任意 操作 任意 次数(可能为零):

  • 选择数组中的任何一个元素,然后将它的值 增加 1
  • 复制数组中的任何一个元素,然后将它附加到数组的末尾。

返回使得最终数组元素之 大于或等于 k 所需的 最少 操作次数。

示例 1:

输入:k = 11

输出:5

解释:

可以对数组 nums = [1] 执行以下操作:

  • 将元素的值增加 1 三次。结果数组为 nums = [4]
  • 复制元素两次。结果数组为 nums = [4,4,4]

最终数组的和为 4 + 4 + 4 = 12 ,大于等于 k = 11
执行的总操作次数为 3 + 2 = 5

示例 2:

输入:k = 1

输出:0

解释:

原始数组的和已经大于等于 1 ,因此不需要执行操作。

提示:

  • 1 <= k <= 105

✏️ 题解

这道题采用贪心的思路,要先加后减,通过找规律发现开根的方式可以获得最小的操作次数。(a 次加操作、 b 次复制操作 a 次复制操作、 b 次加操作是一样的,因为是求和)。

class Solution {
    public int minOperations(int k) {
        // 先加后减
        if(k == 1)return 0;
        
        int e = (int)Math.sqrt(k);// 加操作
        int q = (int)Math.ceil((k*1.0)/e); // 复制操作
        
        return e+q-2;
    }
}

标签:周赛,cnt,charAt,快手,int,390,字符串,数组,letter
From: https://www.cnblogs.com/bugaway/p/18092240

相关文章

  • 牛客周赛32——小红的矩阵修改
     题目:小红的矩阵修改状态压缩dp,对于每一个串,我们使用一个三进制数表示,由于只有三种字符,我们使用3进制数表示,这样一共就只有81中状态。#include<bits/stdc++.h>typedeflonglongll;usingnamespacestd;constintN=5e2+10;constintmod=1e9+7;intdp[1010]......
  • 首位脑机患者直播用意念玩游戏;快手自研大模型有信心半年内达 GPT4 水平丨RTE 开发者日
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表......
  • 【GUI界面软件】快手评论区采集:自动采集10000多条,含二级评论、展开评论!
    目录一、背景说明1.1效果演示1.2演示视频1.3软件说明二、代码讲解2.1爬虫采集模块2.2软件界面模块2.3日志模块三、获取源码及软件一、背景说明1.1效果演示您好!我是@马哥python说,一名10年程序猿。我用python开发了一个爬虫采集软件,可自动抓取快手评论数据,并且含二级评论......
  • 390_xxl-job 定时任务执行失败
    执行失败时情况错误原因:::info定时任务执行器端口配置为:2+项目端口,生成了6位数无效端口,导致错误:::解决方法:::info定时任务执行器端口配置为指定端口:::正常时情况......
  • 力扣周赛第01弹----思维 与 dp
    力扣周赛第01弹----思维与dp一、成为K特殊字符串需要删除的最少字符数题目给你一个字符串word和一个整数k。如果|freq(word[i])-freq(word[j])|<=k对于字符串中所有下标i和j都成立,则认为word是k特殊字符串。此处,freq(x)表示字符x在word中的出现频......
  • 破链成环-acwing第131场周赛-奶牛报数
    5364.奶牛报数-AcWing题库有 n 头奶牛,围成一圈,顺时针依次编号为 1∼n。其中,第 i 头奶牛的重量为 ai。现在,我们需要选择一头奶牛,并从该奶牛开始,所有奶牛按照顺时针的顺序进行 1∼n报数。报数完毕后,所有报出的数在 [l,r)范围内的奶牛,会被选中制作牛肉。我们希......
  • 牛客周赛 Round 36(A~F)
    A签到直接\(/1000\)输出即可#include<bits/stdc++.h>#defineintlonglong#definerep(i,a,b)for(inti=(a);i<=(b);++i)#definefep(i,a,b)for(inti=(a);i>=(b);--i)#define_for(i,a,b)for(inti=(a);i<(b);++i)#definepiipai......
  • 牛客周赛 Round 36 (小白练习记)
    A.小红的数位删除思路:这题简单输出即可Code:#include<bits/stdc++.h>usingnamespacestd;intmain(){strings;cin>>s;for(inti=0;i<s.size()-3;i++){cout<<s[i];}return0;}B.小红的小红矩阵构造思路:......
  • P6390 [COCI2007-2008#4] POKLON 题解
    感谢@\(\color{#AEF}{\texttt{CelestialCyan}}\)大神对我的骚扰帮助。分析一眼DP。对于求最大满足条件区间数,我们定义状态函数\(\mathit{f}_{i}\)表示在第\(1\)到\(i\)个区间中选择,且必选第\(i\)个区间能够得到的最大长度。有转移方程:\(\mathit{f}_{i}=\max\{f[j]|......
  • 牛客周赛round35
    https://ac.nowcoder.com/acm/contest/76133总结:赛时由于思考问题不清晰(体现在FG),感觉仔细思考一会就不行了,侥幸过了最短路的构造题,写的时候也是不顺利,构造也确实没怎么练过。E题:就是个给你从1出发的最短路的结果,要求你给出图的构造,这种反向题目还真没仔细思考过。此外特殊的......