Leetcode1763. 最长的美好子字符串

leetcode[1763]最长的美好子字符串 python3实现(分治法) # 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,"abABB" 是美好字符串,因为 # 'A' 和 'a' 同时出现了,且 'B' 和 'b' 也同时出现了。然而,"abA" 不是美好字符串因为 'b' 出现了,而 'B' 没有出现。 # # 给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。如果有多个答案,请你返回 最早 出现的一个。如果不存在美好子字符串,请你返回一个空字符串。 # # # # 示例 阅读详情

Every day a Leetcode

题目来源:1763. 最长的美好子字符串

解法1:枚举

枚举所有可能的子字符串,然后用 isBeautiful函数检测该字符串是否为美好的字符串,并得到长度最长的美好字符串。

代码:

/*
 * @lc app=leetcode.cn id=1763 lang=cpp
 *
 * [1763] 最长的美好子字符串
 */

// @lc code=start
class Solution
{
private:
    bool isBeautiful(string &str)
    {
        vector<int> lowerAlpha(26, 0), upperAlpha(26, 0);
        for (char &c : str)
        {
            if (islower(c))
                lowerAlpha[c - 'a'] = 1;
            else
                upperAlpha[c - 'A'] = 1;
        }
        for (int i = 0; i < 26; i++)
            if (lowerAlpha[i] ^ upperAlpha[i])
                return false;
        return true;
    }

public:
    string longestNiceSubstring(string s)
    {
        int n = s.size();
        string ans = "";
        for (int i = 0; i < n; i++)
            for (int len = 1; len <= n - i; len++)
            {
                string temp = s.substr(i, len);
                if (isBeautiful(temp) && temp.size() > ans.size())
                    ans = temp;
            }
        return ans;
    }
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n2),其中 n 为字符串的长度。需要枚举所有可能的子字符串,因此需要双重循环遍历字符串,总共可能有 n2 个连续的子字符串。

空间复杂度:O(n)。其中 n 为字符串的长度。

0位运算/分治思想简单 LeetCode1763. 最长的美好子字符串 1763. 最长的美好子字符串 描述 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,“abABB” 是美好字符串,因为 ‘A’ 和 ‘a’ 同时出现了,且 ‘B’ 和 ‘b’ 也同时出现了。然而,“abA” 不是美好字符串因为 ‘b’ 出现了,而 ‘B’ 没有出现。 给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。如果有多个答案,请你返回 最早 出现的一个。如果不存在美好子字符串,请你返回一个空字符串。 分析 思路一:分治 阅读详情

相关推荐

测试 Wi-Fi、蓝牙性能

前几天去原厂测试了 Wi-Fi 和蓝牙的性能,现在把了解到的知识总结一下 RF通路新理解 RF通路一般分为两部分:芯片端、天线端 芯片端 芯片端包括芯片+芯片出来的RF匹配电路,是来调芯片的阻抗匹配的。 天线端 天线前一般也会有一段天线匹配电路,是留给天线调天线的阻抗匹配的。 调试的时候是两部分分开调试的,下面调试的就是芯片端。 测试“阻抗匹配”用网络分析仪看史密斯圆图 测试...

撒哈拉的初学者的博客 1万+

1763.最长的美好子字符串(暴力破解) 难度:简单 语言:C++

class Solution { public: bool Is_nice(string s) { int flag = 0; for(int i = 0; i < s.size(); i++){ for(int j = 0; j < s.size(); j++){ if(isupper(s[i])){ //如果是大写字母 if(tolower(s[i.

qq_40770277的博客 501

基于STM32和K210的自动驾驶小车设计

自动驾驶技术正在迅速发展,成为了汽车行业和智能交通领域的热点之一。随着科技的发展,STM32和K210这两款芯片为自动驾驶小车提供了优秀的硬件支持。本文我们将学习如何使用STM32和K210打造一个简单的自动驾驶小车。提示:以下是本篇文章正文内容,下面案例可供参考通过这篇文章,掌握了如何使用STM32和K210构建一个简单的自动驾驶小车。通过了解基本的电路设计,并编写了STM32和K210的代码。通过这个例子,可以更好地理解如何在嵌入式系统中使用STM32和K210,以及如何实现自动驾驶小车的简单功能。

Kyle_Chan_zMH的博客 2223

Leetcode每日一题1763. 最长的美好子字符串

当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,“abABB” 是美好字符串,因为 ‘A’ 和 ‘a’ 同时出现了,且 ‘B’ 和 ‘b’ 也同时出现了。然而,“abA” 不是美好字符串因为 ‘b’ 出现了,而 ‘B’ 没有出现。 给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。如果有多个答案,请你返回 最早 出现的一个。如果不存在美好子字符串,请你返回一个空字符串。 示例 1: 输入:s = “YazaAay” 输出:“a

warrentdrew的博客 854

Mem0 vs LangMem vs Letta:三大AI记忆框架实战对比(附代码示例)

本文深入对比了Mem0、LangMem和Letta三大AI记忆框架的核心特性与适用场景。Mem0提供开箱即用的记忆管理服务,适合快速集成;LangMem深度融入LangGraph生态,适合复杂工作流;Letta则采用虚拟内存系统,旨在突破上下文窗口限制。文章通过实战代码示例,为开发者选择适合其业务需求的AI记忆解决方案提供了清晰指南。

g9h0i1的博客 681

单细胞分析R包monocle3服务器安装教程

由于centos7系统yum只能安装到低版本gdal,而monocle3依赖包需要 gdal>2 版本,从gdal官网下载2.4.4版本编译安装。monocle3的安装是通过cole-trapnell-lab安装的,该包挂在github上,需要通过github先安装leidenbase包,需要提前安装devtools包下载工具。接着利用BiocManager安装相应的依赖包,由于这些包的特殊性,所以不要切换到国内Bio_Mirror镜像,否则会找不到,如果一次不成功,缺啥补啥即可。运行 ldconfig。

qq_36608036的博客 1万+

LeetCode简单题之最长的美好子字符串

题目 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,“abABB” 是美好字符串,因为 ‘A’ 和 ‘a’ 同时出现了,且 ‘B’ 和 ‘b’ 也同时出现了。然而,“abA” 不是美好字符串因为 ‘b’ 出现了,而 ‘B’ 没有出现。 给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。如果有多个答案,请你返回 最早 出现的一个。如果不存在美好子字符串,请你返回一个空字符串。 示例 1: 输入:s = “YazaAay” 输出

Lonery的博客 2049

人形机器人硬件电路设计入门

人形机器人属于。

blotemj.blog.youkuaiyun.com 233

【每日一题】1763. 最长的美好子字符串

最长的美好子字符串:分治法+递归

小哲的博客 574

注册GitHub时出现Unable to verify your captcha response.Please visit https://docs.github.com/解决方案(持续更新)

本文主要介绍了注册GitHub时出现Unable to verify your captcha response. Please visit https://docs.github.com/articles/troubleshooting-connectivity-problems/#troubleshooting-the-captcha for troubleshooting information.解决方案,希望能对学习使用GitHub的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

20 Embedding 与向量检索:语义为什么能变成距离

Embedding 是 RAG 语义检索的数学基础。本文用工程视角讲清文本如何变成向量,为什么语义相近会表现为距离相近,Top-K 检索如何工作,以及在模型选择、同模型约束、精确匹配和召回评估上的常见坑。

老于的笔记的专栏 6204

每日一题补题记录3

​​​​​​1763. 最长的美好子字符串 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,"abABB" 是美好字符串,因为 'A' 和 'a' 同时出现了,且 'B' 和 'b' 也同时出现了。然而,"abA" 不是美好字符串因为 'b' 出现了,而 'B' 没有出现。 给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。如果有多个答案,请你返回 最早 出现的一个。如果不存在美好子字符串,请你返回一个空字符串。 方法一

m0_51630248的博客 529

ESP32-S3模组上兼容SCCB总线与I2C总线的解决方案(1)

ESP32-S3模组上兼容SCCB总线与I2C总线的解决方案(1)

phmatthaus的专栏 776

#力扣 LeetCode1763. 最长的美好子字符串 @FDDLC

题目描述: 1763. 最长的美好子字符串 - 力扣(LeetCode) (leetcode-cn.com) Java代码: class Solution { public boolean is(String s,int i,int l){ int[][] t=new int[26][2]; for(;l>0;i++,l--){ if(s.charAt(i)<='Z')t[s.charAt(i)-'A'][1]=1; .

LiuXingchang的博客 434

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

python-leetcode-1763. 最长的美好子字符串

可以用。

Lucy_wzw的博客 386

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

力扣1763.最长的美好子字符串

type改变的写法:判断 1 == f[i] 如果等就是0 -> 1 type需要+1。类似395. 同时记录大小写字母的种类。tolower()函数:把大写->小写。

Pisasama的博客 265

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

leetcode每日一题1763. 最长的美好子字符串 新年开头祝福美满 美好幸福~

本篇内容:leetcode每日一题1763. 最长的美好子字符串 新年开头祝福美满 美好幸福~ 文章专栏:leetcode每日一题《打卡日常》 最近更新:2022年1月29日 leetcode每日一题1342. 将数字变成 0 的操作次数 除夕新气象,所有的不愉快年末清零啦~ 个人简介:一只二本院校在读的大三程序猿,本着注重基础,打卡算法,分享技术作为个人的经验总结性的博文博主,虽然可能有时会犯懒,但是还是会坚持下去的,如果你很喜欢博文的话,建议看下面一行~(疯狂暗

Alascanfu的博客 1639

LeetCode——1763. 最长的美好子字符串(Longest Nice Substring)[简单]——分析及代码(Java)

LeetCode——1763. 最长的美好子字符串[Longest Nice Substring][简单]——分析及代码[Java]一、题目二、分析及代码1. 滑动窗口(1)思路(2)代码(3)结果三、其他 一、题目 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,“abABB” 是美好字符串,因为 ‘A’ 和 ‘a’ 同时出现了,且 ‘

江南土豆的博客 928

LeetCode 1763. 最长的美好子字符串

文章目录1. 题目2. 解题 1. 题目 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。 比方说,"abABB" 是美好字符串,因为 ‘A’ 和 ‘a’ 同时出现了,且 ‘B’ 和 ‘b’ 也同时出现了。 然而,"abA" 不是美好字符串因为 ‘b’ 出现了,而 ‘B’ 没有出现。 给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。 如果有多个答案,请你返回 最早 出现的一个。 如果不存在美好子字符串,请你返回一个空字符串。 示例

Michael是个半路程序员 1160

[LeetCode 1763] 最长的美好子字符串 [参考]

文章目录题目链接题目描述示例1示例2示例3示例4提示题解1 题目链接 https://leetcode-cn.com/problems/longest-nice-substring/ 题目描述 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,"abABB" 是美好字符串,因为 'A' 和 'a' 同时出现了,且 'B' 和 'b' 也同时出现了。然而,"abA" 不是美好字符串因为 'b' 出现了,而 'B' 没有出现。 给你一个字符

pgsld2333的博客 1141

【力扣题解】1763. 最长的美好子字符串

滑动窗口

爱做梦的猪的博客 520

LeetCode 1763. 最长的美好子字符串题解

1763. 最长的美好子字符串题解 题目来源:1763. 最长的美好子字符串 2022.02.01每日一题

小明不要写Bug的博客 497

leetcode-1763:最长的美好子字符串

leetcode-1763:最长的美好子字符串题目解题方法一:枚举 题目 题目链接 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,“abABB” 是美好字符串,因为 ‘A’ 和 ‘a’ 同时出现了,且 ‘B’ 和 ‘b’ 也同时出现了。然而,“abA” 不是美好字符串因为 ‘b’ 出现了,而 ‘B’ 没有出现。 给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。如果有多个答案,请你返回 最早 出现的一个。如果不存在美好子字符

菊头蝙蝠的博客 790

力扣解法汇总1763-最长的美好子字符串

原题链接:力扣 描述: 当一个字符串 s包含的每一种字母的大写和小写形式 同时出现在 s中,就称这个字符串s是 美好 字符串。比方说,"abABB"是美好字符串,因为'A' 和'a'同时出现了,且'B' 和'b'也同时出现了。然而,"abA"不是美好字符串因为'b'出现了,而'B'没有出现。 给你一个字符串s,请你返回s最长的美好子字符串。如果有多个答案,请你返回最早出现的一个。如果不存在美好子字符串,请你返回一个空字符串。 示例 1: 输入...

分享+记录 509

力扣 1763. 最长的美好子字符串

题目 当一个字符串 s 包含的每一种字母的大写和小写形式 同时 出现在 s 中,就称这个字符串 s 是 美好 字符串。比方说,“abABB” 是美好字符串,因为 ‘A’ 和 ‘a’ 同时出现了,且 ‘B’ 和 ‘b’ 也同时出现了。然而,“abA” 不是美好字符串因为 ‘b’ 出现了,而 ‘B’ 没有出现。 给你一个字符串 s ,请你返回 s 最长的 美好子字符串 。如果有多个答案,请你返回 最早 出现的一个。如果不存在美好子字符串,请你返回一个空字符串。 示例 输入:s = “YazaAay” 输出:“a

(ง •_•)ง没有困难的工作,只有勇敢的狗狗 123
上一篇: 计算机图形学 | 实验十二:混合(透明物体处理)
下一篇: Leetcode1720. 解码异或后的数组
UestcXiye
博客等级 码龄8年 9032粉丝 1306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值