【动态规划-中等】剑指 Offer II 092. 翻转字符

【STM32单片机】RS485通信—基于STM32G474芯片 做项目需要用485通信来控制Go电机参考资料:【【STM32F103C8T6系列】10. 实验例程——485(USART串口)通讯实验】 https://www.bilibili.com/video/BV19w411r7ka/?PDF: STM32G474 开发指南 正点原子 DMG474 开发板教程 第28章485只是物理层,代码逻辑还是UART串口通信,相当于是电路有RS485转换芯片,所以还是用UART串口通信方式。 阅读详情

【题目】
如果一个由 ‘0’ 和 ‘1’ 组成的字符串,是以一些 ‘0’(可能没有 ‘0’)后面跟着一些 ‘1’(也可能没有 ‘1’)的形式组成的,那么该字符串是 单调递增 的。

我们给出一个由字符 ‘0’ 和 ‘1’ 组成的字符串 s,我们可以将任何 ‘0’ 翻转为 ‘1’ 或者将 ‘1’ 翻转为 ‘0’。

返回使 s 单调递增 的最小翻转次数。

示例 1:

输入:s = “00110”
输出:1
解释:我们翻转最后一位得到 00111.

示例 2:

输入:s = “010110”
输出:2
解释:我们翻转得到 011111,或者是 000111。

示例 3:

输入:s = “00011000”
输出:2
解释:我们翻转得到 00000000。

提示:

1 <= s.length <= 20000
s 中只包含字符 '0' 和 '1'

注意:本题与主站 926 题相同
【代码】
在这里插入图片描述

class Solution:
    def minFlipsMonoIncr(self, s: str) -> int:
        char2num={'1':1,'0':0}
        s=s.lstrip('0').rstrip('1')
        num0,num1=0,0
        cnt=[0,0]
        ans=0
        for i in s:
            cnt[char2num[i]]+=1            
            if cnt[0]>cnt[1]:
                ans+=cnt[1]
                cnt[0],cnt[1]=0,0
        return ans+min(cnt)

【方法2:dp】
在这里插入图片描述

class Solution:
    def minFlipsMonoIncr(self, s: str) -> int:
        char2numNot={'0':1,'1':0}
        char2num={'0':0,'1':1}
        dp=[[0,0] for i in range(len(s))]
        ans=0
        dp[0][char2numNot[s[0]]]+=1
        for i in range(1,len(s)):
            dp[i][0]=dp[i-1][0]+char2num[s[i]]
            dp[i][1]=min(dp[i-1])+char2numNot[s[i]]
        return min(dp[-1])
Aloudata Agent :基于 NoETL 明细语义层的分析决策智能体 这是包括我们在内的一些厂商探索的一个新方向,这种方式先由大模型将自然语言转化为对指标语义层的查询请求(MQL,Metrics Query Language),再由指标平台将指标和维度的查询与计算逻辑转化为准确的 SQL 查询语句。用户查询经大模型语义解析后,将其转换为指标、维度及筛选条件的组合表达,并生成面向指标平台的 MQL,Aloudata CAN 指标平台的语义引擎将 MQL 转换为准确和可执行的查询 SQL,语义引擎内置函数体系与 SQL 解析器,确保语义转换的 100% 准确性。 阅读详情

相关推荐

经纬度转换为UTM坐标

UTM(通用横向墨卡托投影): 是一种以米为单位的坐标系统,用于地图和GPS导航。将地球划分为60个纵向的区域。每个区域宽6度,从赤道开始往南北两级方向划分。每个区域都有一个特定的字母。

weixin_45626706的博客 7282

剑指 Offer II 092. 翻转字符

dp

m0_48711099的博客 170

构建可编程记忆系统:OpenClaw-SuperMemory本地部署与智能知识管理实战

在信息过载的时代,高效的知识管理与智能检索成为技术从业者的核心需求。向量数据库与嵌入模型技术通过将文本转化为高维向量,实现了基于语义相似度的智能搜索,突破了传统关键词匹配的局限。这项技术的核心价值在于将静态存储的信息转化为可动态查询和计算的知识资产,极大地提升了信息调用的准确性和效率。其应用场景广泛,从个人笔记管理、对话历史归档到企业知识库构建都能发挥关键作用。本文聚焦于开源项目OpenClaw-SuperMemory,它正是基于这一技术栈,通过本地化部署实现了可编程记忆系统的构建。项目集成了ChromaD

weixin_42525482的博客 320

剑指 Offer II 092. 翻转字符(DP,详细分析)

如果一个由 ‘0’ 和 ‘1’ 组成的字符串,是以一些 ‘0’(可能没有 ‘0’)后面跟着一些 ‘1’(也可能没有 ‘1’)的形式组成的,那么该字符串是 单调递增 的。我们给出一个由字符 ‘0’ 和 ‘1’ 组成的字符串 s,我们可以将任何 ‘0’ 翻转为 ‘1’ 或者将 ‘1’ 翻转为 ‘0’。如果我这一位是1,想翻1串,那么两种情况:1、前面i-1位翻成1串,然后我不用动。如果想翻1串,那么有两种情况:第一种情况、前面i-1位翻成1串,然后我也翻一下:即dp[i-1].one + 1。

AAS48的博客 305

Unity 游戏实例开发集合 之 Car Racing 2D (2D赛车) 休闲小游戏快速实现

Unity 游戏实例开发集合 之 Car Racing 2D (2D赛车) 休闲小游戏快速实现 目录 Unity 游戏实例开发集合 之 Car Racing 2D (2D赛车) 休闲小游戏快速实现 一、简单介绍 二、Car Racing 2D (2D赛车) 游戏内容与操作 三、相关说明 四、游戏代码框架 五、知识点 六、游戏效果预览 七、实现步骤 八、工程源码地址 九、延伸扩展 一、简单介绍 Unity 游戏实例开发集合,使用简单易懂的方式,讲解常见游戏的开发实现过程,方便

仙魁XAN 7704

每天10分钟,混剪视频Agent产出50条爆款,单月变现6位数(喂饭级教程)

混剪视频是指将多个视频片段、图片或音频素材进行剪辑组合,创造出新的视频内容。随着Coze上线联动剪映功能,混剪视频制作正在进入自动化时代,为创作者带来巨大便利。高效自动化处理:AI可以自动完成琐碎的剪辑工作,让创作者省下大量时间专注于项目策划和创意。批量素材产出:特别适用于抖音、小红书和视频号等平台上的养生、科普、心理、疗愈等垂直领域,可以自动化批量生产图片和视频素材。引流获客:通过优质内容吸引目标受众知识变现:通过教学传授技术工具变现:将搭建好的工作流作为产品销售。

汤师爷的博客 867

【题解】剑指 Offer II 092. 翻转字符(字符串)(动态规划)

题目链接 力扣 题目描述 如果一个由'0' 和 '1'组成的字符串,是以一些 '0'(可能没有 '0')后面跟着一些 '1'(也可能没有 '1')的形式组成的,那么该字符串是单调递增的。 我们给出一个由字符 '0' 和 '1'组成的字符串 s,我们可以将任何'0' 翻转为'1'或者将'1'翻转为'0'。 返回使 s单调递增的最小翻转次数。 示例 1: 输入:s = "00110" 输出:1 解释:我们翻转最后一位得到 00111. 示例 2: 输入:s...

Elephant_King的博客 451

VS Code+ESP-IDF开发避坑指南:头文件标红报错的5种解决方法(附CMakeLists.txt配置)

本文详细解析了在VS Code中使用ESP-IDF开发ESP32时头文件标红报错的5种解决方法,包括环境配置检查、CMakeLists.txt规范配置、路径解析策略、缓存清理技巧和高级调试手段。特别提供了CMakeLists.txt的实战配置示例,帮助开发者彻底解决头文件路径问题,提升开发效率。

weixin_33670786的博客 560

剑指 Offer II 092. 翻转字符(中等 动态规划 字符串)

剑指 Offer II 092. 翻转字符 如果一个由 ‘0’ 和 ‘1’ 组成的字符串,是以一些 ‘0’(可能没有 ‘0’)后面跟着一些 ‘1’(也可能没有 ‘1’)的形式组成的,那么该字符串是 单调递增 的。 我们给出一个由字符 ‘0’ 和 ‘1’ 组成的字符串 s,我们可以将任何 ‘0’ 翻转为 ‘1’ 或者将 ‘1’ 翻转为 ‘0’。 返回使 s 单调递增 的最小翻转次数。 示例 1: 输入:s = “00110” 输出:1 解释:我们翻转最后一位得到 00111. 示例 2: 输入:s = “01

weixin_43942435的博客 653

从零到一:Gromacs伞形采样的实战避坑指南

本文详细介绍了Gromacs伞形采样技术的实战应用与避坑指南,涵盖核心原理、环境准备、参数设置、数据分析及性能优化等关键环节。特别针对蛋白质-配体结合自由能计算等典型应用场景,提供了弹簧常数设置、采样窗口间距等实用参数建议,帮助研究人员高效完成分子动力学模拟。

weixin_29243279的博客 516

MIPI转LVDS芯片调试实战:从Kernel到UEFI的完整点亮流程

本文详细解析了MIPI转LVDS芯片调试的全流程,从Kernel驱动开发到UEFI早期初始化,涵盖I2C通信、电源时序控制等核心挑战。通过LT9211芯片实战案例,提供设备树配置、电源时序优化及显示异常排查等实用技巧,助力工程师高效完成屏幕调试工作。

weixin_30314813的博客 452

Leetcode 剑指 Offer II 092.将字符串翻转到单调递增

题目难度: 中等今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号里回复剑指offer2就能看到该系列当前连载的所有文章了, 记得关注哦~

随便发挥的博客 1035

【YOLOv8改进 - 注意力机制】GAM(Global Attention Mechanism):全局注意力机制,减少信息损失并放大全局维度交互特征

为了提高各种计算机视觉任务的性能,研究了多种注意力机制。然而,现有方法忽视了保留通道和空间两个方面信息的重要性,以增强跨维度的交互。因此,我们提出了一种全局注意力机制,通过减少信息损失和放大全局交互表示来提升深度神经网络的性能。我们引入了带有多层感知器的3D排列用于通道注意力,同时结合了卷积空间注意力子模块。在CIFAR-100和ImageNet-1K上的图像分类任务评估中,表明我们的方法在ResNet和轻量级MobileNet上稳定地优于几种最新的注意力机制。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 1160

LeetCode 剑指 Offer II 动态规划(一) 专题总结

从不会动态规划一步一步成动态规划大神,剑指 Offer || 动态规划88~93题

一只小逸白 1万+

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

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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

剑指 Offer II 092. 翻转字符 / 剑指 Offer II 093. 最长斐波那契数列

剑指 Offer II 092. 翻转字符 / 剑指 Offer II 093. 最长斐波那契数列

在彼淇梁的博客 216

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【剑指 Offer II】 092. 翻转字符

题目: 如果一个由 ‘0’ 和 ‘1’ 组成的字符串,是以一些 ‘0’(可能没有 ‘0’)后面跟着一些 ‘1’(也可能没有 ‘1’)的形式组成的,那么该字符串是 单调递增 的。 我们给出一个由字符 ‘0’ 和 ‘1’ 组成的字符串 s,我们可以将任何 ‘0’ 翻转为 ‘1’ 或者将 ‘1’ 翻转为 ‘0’。 返回使 s 单调递增 的最小翻转次数。 示例 1: 输入:s = “00110” 输出:1 解释:我们翻转最后一位得到 00111. 示例 2: 输入:s = “010110” 输出:2 解释:我们翻转

漆黑梦工厂 348

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

力扣——剑指 Offer II 092. 翻转字符

不管是不是动态规划问题,首先写出递归的暴力解。如果超时,考虑有没有重叠子问题,此时就要注意递归函数的定义,递归函数的返回值应该是子问题的解。可能一开始结果保存在函数参数中是比较好想的。如果一开始写的递归函数是结果在函数参数里的形式,要考虑将结果定义在返回值中,此时需要明确递归函数的定义。

dotJunz的博客 265

剑指offer_092 翻转字符

题目: 如果一个由'0' 和 '1'组成的字符串,是以一些 '0'(可能没有 '0')后面跟着一些 '1'(也可能没有 '1')的形式组成的,那么该字符串是单调递增的。 我们给出一个由字符 '0' 和 '1'组成的字符串 s,我们可以将任何'0' 翻转为'1'或者将'1'翻转为'0'。 返回使 s单调递增的最小翻转次数。 示例 1: 输入:s = "00110" 输出:1 解释:我们翻转最后一位得到 00111. 示例 2: 输入:s = "010110" ...

weixin_43817702的博客 186

Java剑指 Offer II 092. 翻转字符(击败100%用户)

题目: 如果一个由'0' 和 '1'组成的字符串,是以一些 '0'(可能没有 '0')后面跟着一些 '1'(也可能没有 '1')的形式组成的,那么该字符串是单调递增的。 我们给出一个由字符 '0' 和 '1'组成的字符串 s,我们可以将任何'0' 翻转为'1'或者将'1'翻转为'0'。 返回使 s单调递增的最小翻转次数。 示例 : 输入:s = "00110" 输出:1 解释:我们翻转最后一位得到 00111. 思路: 我看到有前缀和的思路不错,但是这里...

goldfish_well的博客 177

Leetcode刷题笔记——剑指offer II (二)【动态规划】

416. 分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums = [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 示例 2: 输入:nums = [1,2,3,5] 输出:false 解释:数组不能分割成两个元素和相等的子集。 提示: 1 <= nums.length <= 200 1 <= nums[i] <=

weixin_46934960的博客 1945

剑指 Offer II 090+091+092+094+095

一些dp问题的题

weixin_49546933的博客 172

剑指offer88-96动态规划

给定两个字符串 s 和 t ,编写一个函数来判断它们是不是一组变位词(字母异位词)。t 是 s的变位词等价于「两个字符串不相等且两个字符串排序后相等」注意:若 s 和 t 中每个字符出现的次数都相同且字符顺序不完全相同,则称 s 和 t 互为变位词(字母异位词)。 也就字母个数一样,就是顺序不一样给定一个字符串数组 strs ,将 变位词 组合在一起。 可以按任意顺序返回结果列表。注意:若两个字符串中每个字符出现的次数都相同,则称它们互为变位词。 字母异位词的两次词排序后的值是一样的,将这个值作为键,将排

baidu_41553551的博客 316

每日刷题记录 (五)

LeetCode: 剑指 Offer II 119. 最长连续序列 描述: 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 第二题: 最少的硬币数目 LeetCode: 剑指 Offer II 103. 最少的硬币数目 描述: 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。 第三题: 爬楼梯的最少成本

wwzzzzzzzzzzzzz的博客 521

剑指offer专项突击版第31天

DP专项训练

hys__handsome的博客 205

剑指offer-翻转字符串

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 这是一个很常见的题,我们主要用到S...

flysening的博客 437
上一篇: 【动态规划-中等】剑指 Offer 47. 礼物的最大价值
下一篇: 【动态规划-中等】120. 三角形最小路径和
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值