LeetCode100122. Separate Black and White Balls
文章目录
- 一、题目
- 二、题解
一、题目
There are n balls on a table, each ball has a color black or white.
You are given a 0-indexed binary string s of length n, where 1 and 0 represent black and white balls, respectively.
In each step, you can choose two adjacent balls and swap them.
Return the minimum number of steps to group all the black balls to the right and all the white balls to the left.
Example 1:
Input: s = “101”
Output: 1
Explanation: We can group all the black balls to the right in the following way:
- Swap s[0] and s[1], s = “011”.
Initially, 1s are not grouped together, requiring at least 1 step to group them to the right.
Example 2:
Input: s = “100”
Output: 2
Explanation: We can group all the black balls to the right in the following way:
- Swap s[0] and s[1], s = “010”.
- Swap s[1] and s[2], s = “001”.
It can be proven that the minimum number of steps needed is 2.
Example 3:
Input: s = “0111”
Output: 0
Explanation: All the black balls are already grouped to the right.
Constraints:
1 <= n == s.length <= 105
s[i] is either ‘0’ or ‘1’.
二、题解
class Solution {
public:long long minimumSteps(string s) {int n = s.length();//记录0的位置vector<int> zeroIndex;for(int i = 0;i < n;i++){if(s[i] == '0') zeroIndex.push_back(i);}long long res = 0;int front = 0;for(int i = 0;i < zeroIndex.size();i++){res += zeroIndex[i] - front;front++;}return res;}
};
相关文章:
LeetCode100122. Separate Black and White Balls
文章目录 一、题目二、题解 一、题目 There are n balls on a table, each ball has a color black or white. You are given a 0-indexed binary string s of length n, where 1 and 0 represent black and white balls, respectively. In each step, you can choose two a…...
系列二十六、idea安装javap -c
一、概述 javap -c是一个能够将.java文件反编译为.class文件的指令,例如我在idea中编写了一个Car.java文件,我想看看这个类被编译后长什么样的,就可以使用该指令进行查看。 二、配置 2.1、 Java Bytecode Decompiler File>Settings>Pl…...
nginx 如何根据IP做限流,以及 nginx 直接返回 json 格式数据
Nginx 限流配置 Nginx是如何限流的。随着业务的扩散,系统并发越来越高时,有三样利器用来保护系统,分别是缓存、降级和限流。 随着业务的扩散,系统并发越来越高时,有三样利器用来保护系统,分别是缓存、降…...
C语言链式栈
stack.h typedef struct Node_s {int data;struct Node_s *pNext; } Node_t, *pNode_t;typedef struct Stack_s {pNode_t pHead;//栈顶指针,指向了链表的第一个结点int size;//栈的元素个数 } Stack_t, *pStack_t;void init(pStack_t pStack); void push(pStack_t …...
【Go入门】 Go的http包详解
【Go入门】 Go的http包详解 前面小节介绍了Go怎么样实现了Web工作模式的一个流程,这一小节,我们将详细地解剖一下http包,看它到底是怎样实现整个过程的。 Go的http有两个核心功能:Conn、ServeMux Conn的goroutine 与我们一般编…...
解决k8s node节点报错: Failed to watch *v1.Secret: unknown
现象: 这个现象是发生在k8s集群证书过期,重新续签证书以后。 记得master节点的/etc/kubernetes/kubelet.conf文件已经复制到node节点了。 但是为什么还是报这个错,然后运行证书检查命令看一下: 看样子是差/etc/kubernetes/pki/…...
日志维护库:loguru
在复杂的项目中,了解程序的运行状态变得至关重要。在这个过程中,日志记录(logging)成为我们追踪、调试和了解代码执行的不可或缺的工具。在python语言中常用logging日志库,但是logging日志库使用相对繁琐,在…...
【Go入门】 Go如何使得Web工作
【Go入门】 Go如何使得Web工作 前面小节介绍了如何通过Go搭建一个Web服务,我们可以看到简单应用一个net/http包就方便的搭建起来了。那么Go在底层到底是怎么做的呢?万变不离其宗,Go的Web服务工作也离不开我们第一小节介绍的Web工作方式。 w…...
汽车虚拟仿真视频数据理解--CLIP模型原理
CLIP模型原理 CLIP的全称是Contrastive Language-Image Pre-Training,中文是对比语言-图像预训练,是一个预训练模型,简称为CLIP。该模型是 OpenAI 在 2021 年发布的,最初用于匹配图像和文本的预训练神经网络模型,这个任…...
【Web】Ctfshow SSTI刷题记录1
目录 ①web361 362-无过滤 ②web363-过滤单双引号 ③web364-过滤单双引号和args ④web365-过滤中括号[]、单双引号、args ⑤web366-过滤单双引号、args、中括号[]、下划线 ⑦web367-过滤单双引号、args、中括号[]、下划线、os ⑧web368-过滤单双引号、args、中括号[]、下…...
【广州华锐互动】VR可视化政务服务为公众提供更直观、形象的政策解读
虚拟现实(VR)技术正在逐渐应用于政务服务领域,为公众提供更加便捷、高效和个性化的服务体验。通过VR眼镜、手机等设备,公众可以在虚拟环境中参观政务服务中心,并根据自己的需求选择不同的办事窗口或事项进行咨询和办理…...
音视频项目—基于FFmpeg和SDL的音视频播放器解析(七)
介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…...
Sql Server 2017主从配置之:发布订阅
使用发布订阅模式搭建Sql Server 2017主从同步,类似事件通知机制,基本可以做到准实时同步,可以同时做到一对多的数据同步。 不过发布订阅模式,只能同时数据,不能同步表结构。在创建发布的时候,需要选择需要…...
聊聊logback的EvaluatorFilter
序 本文主要研究一下logback的EvaluatorFilter EvaluatorFilter ch/qos/logback/core/filter/EvaluatorFilter.java public class EvaluatorFilter<E> extends AbstractMatcherFilter<E> {EventEvaluator<E> evaluator;Overridepublic void start() {if …...
解决vue 部分页面缓存,部分页面不缓存的问题
前端时间项目迭代,其中有个需求 在vue里面,有a.b.c三个页面,要达到的效果是从a页面进去b页面,b页面需要刷新,但若从b页面进入c页面了以后再回到b页面,b页面需要保留之前的值,不做刷新࿱…...
修完这个 Bug 后,MySQL 性能提升了 300%
最近 MySQL 官方在 8.0.35 上修复了一个 bug: 这个 bug 是由 Mark Callaghan 发现的。Mark 早年在 Google MySQL 团队,后来去了 Meta MySQL,也主导了 RocksDB 的开发。 Mark 在 #109595 的 bug report 给出了非常详细的复现步骤 在官方修复后…...
【C/PTA】数组进阶练习(二)
本文结合PTA专项练习带领读者掌握数组,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 目录 7-1 字符串逆序7-2 字符串替换7-3 统计字符出现次数7-4 IP地址转换7-1 删除重复字符7-2 说反话-加强版7-3 数组-回文串7-4 数组-无聊的菇菇…...
Mysql MMM
MMM概述 MMM(Master-Master replication manager for MvSQL,MySQL主主复制管理器) 是一套支持双主故障切换和双主日常管理的脚本程序。 MMM 使用 Perl 语言开发,主要用来监控和管理MySQL Master-Master(双主)复制&…...
GDPU 数据结构 天码行空10
目录 数据结构实验十 树遍历应用一、【实验目的】二、【实验内容】三、【实验源代码】⭐ CPP版⭐ c语言版 四、实验结果 数据结构实验十 树遍历应用 一、【实验目的】 1、了解树的建立方法 2、掌握树与二叉树的转化及其遍历的基本方法 3、掌握递归二叉树遍历算法的应用 二、…...
CD36 ; + Lectin;
CD2 LIMP-2, LGP85 SR-BI, CD36; 清道夫受体蛋白CD36超家族的成员是 脂质代谢 和 先天免疫 的重要调节因子。它们识别正常和修饰的脂蛋白,以及与病原体相关的分子模式。 该家族由三个成员组成: SR-BI &am…...
基于傅里叶神经算子的含时密度泛函理论加速模拟
1. 项目概述与核心思路在计算材料科学和量子化学领域,模拟电子在激光等外场驱动下的动力学行为,是理解光催化、光电转换、甚至量子计算基础过程的关键。含时密度泛函理论(TDDFT)是处理这类问题的“金标准”之一,它通过…...
剖析爆炸事故失联成因,UWB穿戴模式隐患重重,无感定位筑牢矿山透明化空间管理根基
剖析爆炸事故失联成因,UWB穿戴模式隐患重重,无感定位筑牢矿山透明化空间管理根基一、爆炸事故深度溯源:井下人员大面积失联核心诱因矿山瓦斯爆炸突发灾害,瞬间伴随剧烈冲击、粉尘弥漫、巷道形变、线路损毁与人员紧急避险疏散&…...
LinkSwift:九大网盘直链下载助手终极指南,告别限速烦恼
LinkSwift:九大网盘直链下载助手终极指南,告别限速烦恼 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动…...
MySQL报错注入与堆叠注入的底层原理与实战对抗
1. 这不是“学SQL注入”,而是重建你对数据库交互的认知边界2021年7月8日这个日期,对很多刚入CTF圈的朋友来说,可能只是训练平台里一个普通题目的提交时间戳。但对我而言,那天在调试一道看似简单的报错注入题时,连续卡了…...
告别AssetBundle!用Unity Addressables实现资源热更,我踩过的坑都帮你填平了
从AssetBundle到Addressables:Unity资源热更的现代化迁移指南第一次接触Unity Addressables时,我正被AssetBundle的各种问题折磨得焦头烂额。那是一个周五的深夜,项目即将上线,却因为AssetBundle的依赖关系混乱导致热更新失败。在…...
Unity动画状态机实战:用Animator Controller实现角色平滑切换攻击动作(附避坑指南)
Unity动画状态机实战:用Animator Controller实现角色平滑切换攻击动作(附避坑指南)在动作类游戏开发中,角色攻击动作的流畅切换是提升战斗体验的关键。许多开发者在使用Unity的Animator Controller时,常常遇到动作卡顿…...
基于CNN的食双星参数快速预测:ebop_maven模型原理与应用
1. 项目概述与核心思路食双星,也就是我们常说的食变星,是研究恒星质量、半径、光度乃至演化过程的一把“金钥匙”。传统上,要解开这把锁,天文学家们得依赖像jktebop、PHOEBE这类物理模型拟合工具。这个过程就像解一个极其复杂的多…...
DIV+CSS使用技巧
HTML head<title>测试</title><meta charset"utf-8"/><meta http-equivexpires content0 /><meta http-equivCache-Control contentno-cache />CSS CSS变量使用: css标识符:-- sass标识符:$ less标识符:变量只…...
为什么你需要一个独立的PCK文件处理工具?3个自动化工作流解析
为什么你需要一个独立的PCK文件处理工具?3个自动化工作流解析 【免费下载链接】GodotPckTool Standalone tool for extracting and creating Godot .pck files 项目地址: https://gitcode.com/gh_mirrors/go/GodotPckTool 在Godot游戏开发中,PCK资…...
ImageSearch与Everything集成:如何利用文件搜索神器提升索引速度10倍
ImageSearch与Everything集成:如何利用文件搜索神器提升索引速度10倍 【免费下载链接】ImageSearch 基于.NET10的本地硬盘千万级图库以图搜图案例Demo和图片exif信息移除小工具分享 项目地址: https://gitcode.com/gh_mirrors/im/ImageSearch 想要在本地硬盘…...
