59 贪心算法和回溯算法分割平衡字符串

问题描述:在一个平衡字符串中,'L'和'R'字符的数量是相同的。在给定一个平衡字符串s,请你将它分割成尽可能多的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串,返回可以通过分割得到的平衡字符串的最大数量。回溯算法求解:给定一个初始start,一直往后遍历,如果start和遍历到的index如果是平衡串,则向下继续dfs,这个dfs以index+1为开始继续遍历,如果该dfs返回,则接着进行循环遍历,如果index=字符串.length,则表示找到了一个平衡字符串。
 

public Boolean isBalance(String s)
{
int Lcount=0;
int Rount=0;
for(int i=0;i<s.length();i++)
{
if(s.charAt(i)=='L')
{
Lcount++;
}else
{
Rcount++;
}
}
​​​​​​​return Lcount==Rcount?true:false;
}public void tranceBack(String s,int start,Integer all)
{
if(start==s.length()){all+=1;return;}
for(int i=index;i<s.length();i++)
{
if(isBalance(s.substring(index,i+1))){
tranceback(s,i+1,all);
}else
{
continue;
}
}
}
public int TranceBack(String s)
{
Integer all=0;
tranceBack(S,0,all);
​​​​​​​return all.parseInt();
}

贪心算法求解:指针一直往前走,只要Lcount==Rcount,即为一个平衡子串,

public int balance(String s)
{
int Lcount=0;
int Lcount=0;
int count=0;
for(int i=0;i<s.length();i++)
{
if(s.charAt(i)=='L'){Lcount++;}
else
{
Rcount++;
}
if(Lcount==Rcount){count++;}
}
​​​​​​​return count;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaOOP篇----第十五篇

系列文章目录 文章目录 系列文章目录前言一、有没有可能两个不相等的对象有相同的hashcode二、拷贝和浅拷贝的区别是什么?三、static都有哪些用法?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通…

【python数据分析】北京房租数据分析

北京租房数据分析 下图展示的北京链家租房的数据&#xff0c;请针对以下数据进行数据清洗及展开数据分析&#xff0c;具体要求&#xff1a; 运用数据清洗等常规方法对数据进行预处理&#xff1b;针对出租屋不同的户型、房屋面积、房屋所属区域分别进行租金分析&#xff0c;并用…

HarmonyOS4.0系统性深入开发03UIAbility组件详解(中)

UIAbility组件基本用法 UIAbility组件的基本用法包括&#xff1a;指定UIAbility的启动页面以及获取UIAbility的上下文UIAbilityContext。 指定UIAbility的启动页面 应用中的UIAbility在启动过程中&#xff0c;需要指定启动页面&#xff0c;否则应用启动后会因为没有默认加载…

【封坛十年大典背后的故事无标题】

封坛十年大典背后的故事 这是2012年的春天。三个创业者吴海、王永吉、张明站在贫瘠裸露的五分梁上举目四望&#xff1a;烈日炎炎&#xff0c;土地干裂&#xff0c;卵石遍野。这时趴在乱石群的里的小草蔫黄&#xff0c;急切的盼望着一场季雨的唰唰唰&#xff01;地降落&#xff…

朴素贝叶斯法_naive_Bayes

朴素贝叶斯法&#xff08;naive Bayes&#xff09;是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集&#xff0c;首先基于特征条件独立假设学习输入输出的联合概率分布&#xff1b;然后基于此模型&#xff0c;对给定的输入 x x x&#xff0c;利用贝叶斯定理…

设计模式之-单列设计模式,5种单例设计模式使用场景以及它们的优缺点

系列文章目录 设计模式之-6大设计原则简单易懂的理解以及它们的适用场景和代码示列 设计模式之-单列设计模式&#xff0c;5种单例设计模式使用场景以及它们的优缺点 设计模式之-3种常见的工厂模式简单工厂模式、工厂方法模式和抽象工厂模式&#xff0c;每一种模式的概念、使用…

抖音网红罗盘时钟改良版

文章目录 💕效果展示💕代码展示HTML💕效果展示 💕代码展示 HTML <!DOCTYPE html> <html lang=

61 贪心算法解救生艇问题

问题描述&#xff1a;第i个人的体重为peaple[i],每个船可以承载的最大重量为limit。每艘船最多可以同时载两人&#xff0c;但条件是这些人的重量之和最多为limit&#xff0c;返回载到每一个人多虚的最小船数&#xff0c;(保证每个人被船载)。 贪心算法求解&#xff1a;先将数组…

【BBuf的CUDA笔记】十,Linear Attention的cuda kernel实现解析

欢迎来 https://github.com/BBuf/how-to-optim-algorithm-in-cuda 踩一踩。 0x0. 问题引入 Linear Attention的论文如下&#xff1a; Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention&#xff1a;https://arxiv.org/pdf/2006.16236.pdf 。官方…

微信小程序-textarea组件字数实时更新

一、前言 本文实现的是在小程序中&#xff0c;textarea文本框输入文字后&#xff0c;实时显示文字的字数&#xff0c;获取更好的用户输入体验以及提示。 下图是实现的效果 二、代码实现 2-1、wxml代码 <view style"padding: 30rpx;"><view style"…

MySQL 数据库系列课程 04:MySQL Workbench的安装

Workbench 是 MySQL 官方推出的免费的强大的可视化工具&#xff0c;不熟悉命令行工具的人&#xff0c;可以安装这一款软件&#xff0c;通过编写 SQL 进行数据库中数据的增删改查操作&#xff0c;接下来我们详细说明一下 Workbench 的安装。 一、Windows安装Workbench &#x…

minicube搭建golang容器服务

引言 最近在自己电脑上搭建一个小型k8s环境&#xff0c;以学习云原生相关内容。这里我主要分为三部分记录&#xff1a; 容器及容器编排理论环境安装相关rpcx服务实战 还在调试中&#xff0c;先总结整理下&#xff0c;这里后续补充上我的github工程链接。 一、容器及容器编排理…

java八股 redis

Redis篇-01-redis开篇_哔哩哔哩_bilibili 1.缓存穿透 2.缓存击穿 逻辑过期里的互斥锁是为了保证只有一个线程去缓存重建 3.缓存雪崩 4.双写一致性 4.1要求一致性&#xff08;延迟双删/互斥锁&#xff09; 延迟双删无法保证强一致性 那么前两步删缓和更新数据库哪个先呢&#xf…

基于Java SSM框架实现实现定西扶贫惠农推介志愿者系统项目【项目源码+论文说明】

基于java的SSM框架实现定西扶贫惠农推介志愿者系统演示 摘要 扶贫工作是党中央、国务院的一项重要战略部署。党政机关定点扶贫是中国扶贫开发战略部署的重要组成部分&#xff0c;是新阶段扶贫开发的一项重大举措&#xff0c;对推动贫困地区经济社会的发展有着积极的意义。 本…

Linux命令的操作练习

1.创建ss别名&#xff0c;查看长格式详细信息 alias ssls -l 2.创建ss别名&#xff0c;复制boot文件夹下的内容到data文件夹下 alias sscp -r /boot /data 3.删除别名ss unalias ss 4. 复制test文件夹下的passwd文件到qq文件夹下&#xff0c;并改名为ww cp test/pas…

Ethercat“配置从站地址”报文分析(0x0010:0x0011)

基于IgH主站接了3个从站&#xff0c;分析报文。 涉及的从站寄存器&#xff1a;Configured Station Address 0x0010:0x0011。 使用场景举例&#xff1a; IgH启动后&#xff0c;通过“配置从站地址”报文将所有从站地址清零&#xff0c;然后通过APWR指令“配置从站地址”报文&a…

MinIO客户端之stat

MinIO提供了一个命令行程序mc用于协助用户完成日常的维护、管理类工作。 官方资料 mc stat 获取指定桶或者对象的信息&#xff0c;包含对象的元数据。 指定桶bkt1&#xff0c;查看信息&#xff0c;命令如下&#xff1a; ./mc stat --recursive local1/bkt1控制台的输出&…

TIA博途Wincc_通过VBS脚本实现电机风扇或水泵旋转动画的具体方法

TIA博途Wincc_通过VBS脚本实现电机风扇或水泵旋转动画的具体方法 前面和大家介绍了通过在PLC中编程,结合HMI的图形IO域实现电机风扇或水泵旋转动画的具体方法,详细内容可参考以下链接: TIA博途Wincc中制作电机风扇或水泵旋转动画的具体方法示例 本次和大家分享通过VBS脚本实…

windows下使用vccode+cmake编译cuda程序

1、在vscode中安装Nsight Visual Studio Code Edition 在vscode中安装插件能够对cuda的代码进行语法检查 2、编写cuda程序 #include <iostream>__global__ void mykernelfunc(){}; int main() {mykernelfunc<<<1,1>>>();std::cout << "hel…

华为OD机试 - 亲子游戏(Java JS Python C)

题目描述 宝宝和妈妈参加亲子游戏,在一个二维矩阵(N*N)的格子地图上,宝宝和妈妈抽签决定各自的位置,地图上每个格子有不同的糖果数量,部分格子有障碍物。 游戏规则是妈妈必须在最短的时间(每个单位时间只能走一步)到达宝宝的位置,路上的所有糖果都可以拿走,不能走障…