当前位置: 首页 > news >正文

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文件的指令&#xff0c;例如我在idea中编写了一个Car.java文件&#xff0c;我想看看这个类被编译后长什么样的&#xff0c;就可以使用该指令进行查看。 二、配置 2.1、 Java Bytecode Decompiler File>Settings>Pl…...

nginx 如何根据IP做限流,以及 nginx 直接返回 json 格式数据

Nginx 限流配置 Nginx是如何限流的。随着业务的扩散&#xff0c;系统并发越来越高时&#xff0c;有三样利器用来保护系统&#xff0c;分别是缓存、降级和限流。 随着业务的扩散&#xff0c;系统并发越来越高时&#xff0c;有三样利器用来保护系统&#xff0c;分别是缓存、降…...

C语言链式栈

stack.h typedef struct Node_s {int data;struct Node_s *pNext; } Node_t, *pNode_t;typedef struct Stack_s {pNode_t pHead;//栈顶指针&#xff0c;指向了链表的第一个结点int size;//栈的元素个数 } Stack_t, *pStack_t;void init(pStack_t pStack); void push(pStack_t …...

【Go入门】 Go的http包详解

【Go入门】 Go的http包详解 前面小节介绍了Go怎么样实现了Web工作模式的一个流程&#xff0c;这一小节&#xff0c;我们将详细地解剖一下http包&#xff0c;看它到底是怎样实现整个过程的。 Go的http有两个核心功能&#xff1a;Conn、ServeMux Conn的goroutine 与我们一般编…...

解决k8s node节点报错: Failed to watch *v1.Secret: unknown

现象&#xff1a; 这个现象是发生在k8s集群证书过期&#xff0c;重新续签证书以后。 记得master节点的/etc/kubernetes/kubelet.conf文件已经复制到node节点了。 但是为什么还是报这个错&#xff0c;然后运行证书检查命令看一下&#xff1a; 看样子是差/etc/kubernetes/pki/…...

日志维护库:loguru

在复杂的项目中&#xff0c;了解程序的运行状态变得至关重要。在这个过程中&#xff0c;日志记录&#xff08;logging&#xff09;成为我们追踪、调试和了解代码执行的不可或缺的工具。在python语言中常用logging日志库&#xff0c;但是logging日志库使用相对繁琐&#xff0c;在…...

【Go入门】 Go如何使得Web工作

【Go入门】 Go如何使得Web工作 前面小节介绍了如何通过Go搭建一个Web服务&#xff0c;我们可以看到简单应用一个net/http包就方便的搭建起来了。那么Go在底层到底是怎么做的呢&#xff1f;万变不离其宗&#xff0c;Go的Web服务工作也离不开我们第一小节介绍的Web工作方式。 w…...

汽车虚拟仿真视频数据理解--CLIP模型原理

CLIP模型原理 CLIP的全称是Contrastive Language-Image Pre-Training&#xff0c;中文是对比语言-图像预训练&#xff0c;是一个预训练模型&#xff0c;简称为CLIP。该模型是 OpenAI 在 2021 年发布的&#xff0c;最初用于匹配图像和文本的预训练神经网络模型&#xff0c;这个任…...

【Web】Ctfshow SSTI刷题记录1

目录 ①web361 362-无过滤 ②web363-过滤单双引号 ③web364-过滤单双引号和args ④web365-过滤中括号[]、单双引号、args ⑤web366-过滤单双引号、args、中括号[]、下划线 ⑦web367-过滤单双引号、args、中括号[]、下划线、os ⑧web368-过滤单双引号、args、中括号[]、下…...

【广州华锐互动】VR可视化政务服务为公众提供更直观、形象的政策解读

虚拟现实&#xff08;VR&#xff09;技术正在逐渐应用于政务服务领域&#xff0c;为公众提供更加便捷、高效和个性化的服务体验。通过VR眼镜、手机等设备&#xff0c;公众可以在虚拟环境中参观政务服务中心&#xff0c;并根据自己的需求选择不同的办事窗口或事项进行咨询和办理…...

音视频项目—基于FFmpeg和SDL的音视频播放器解析(七)

介绍 在本系列&#xff0c;我打算花大篇幅讲解我的 gitee 项目音视频播放器&#xff0c;在这个项目&#xff0c;您可以学到音视频解封装&#xff0c;解码&#xff0c;SDL渲染相关的知识。您对源代码感兴趣的话&#xff0c;请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…...

Sql Server 2017主从配置之:发布订阅

使用发布订阅模式搭建Sql Server 2017主从同步&#xff0c;类似事件通知机制&#xff0c;基本可以做到准实时同步&#xff0c;可以同时做到一对多的数据同步。 不过发布订阅模式&#xff0c;只能同时数据&#xff0c;不能同步表结构。在创建发布的时候&#xff0c;需要选择需要…...

聊聊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 部分页面缓存,部分页面不缓存的问题

前端时间项目迭代&#xff0c;其中有个需求 在vue里面&#xff0c;有a.b.c三个页面&#xff0c;要达到的效果是从a页面进去b页面&#xff0c;b页面需要刷新&#xff0c;但若从b页面进入c页面了以后再回到b页面&#xff0c;b页面需要保留之前的值&#xff0c;不做刷新&#xff1…...

修完这个 Bug 后,MySQL 性能提升了 300%

最近 MySQL 官方在 8.0.35 上修复了一个 bug&#xff1a; 这个 bug 是由 Mark Callaghan 发现的。Mark 早年在 Google MySQL 团队&#xff0c;后来去了 Meta MySQL&#xff0c;也主导了 RocksDB 的开发。 Mark 在 #109595 的 bug report 给出了非常详细的复现步骤 在官方修复后…...

【C/PTA】数组进阶练习(二)

本文结合PTA专项练习带领读者掌握数组&#xff0c;刷题为主注释为辅&#xff0c;在代码中理解思路&#xff0c;其它不做过多叙述。 目录 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&#xff0c;MySQL主主复制管理器&#xff09; 是一套支持双主故障切换和双主日常管理的脚本程序。 MMM 使用 Perl 语言开发&#xff0c;主要用来监控和管理MySQL Master-Master&#xff08;双主&#xff09;复制&…...

GDPU 数据结构 天码行空10

目录 数据结构实验十 树遍历应用一、【实验目的】二、【实验内容】三、【实验源代码】⭐ CPP版⭐ c语言版 四、实验结果 数据结构实验十 树遍历应用 一、【实验目的】 1、了解树的建立方法 2、掌握树与二叉树的转化及其遍历的基本方法 3、掌握递归二叉树遍历算法的应用 二、…...

CD36 ; + Lectin;

CD2 LIMP-2&#xff0c; LGP85 SR-BI&#xff0c; CD36&#xff1b; 清道夫受体蛋白CD36超家族的成员是 脂质代谢 和 先天免疫 的重要调节因子。它们识别正常和修饰的脂蛋白&#xff0c;以及与病原体相关的分子模式。 该家族由三个成员组成&#xff1a; SR-BI &am…...

ai赋能抓取技能:在快马平台让大模型为openclaw规划无碰撞抓取轨迹

最近在做一个机械臂抓取项目时&#xff0c;遇到了一个头疼的问题&#xff1a;如何在复杂环境中规划无碰撞的抓取轨迹。传统方法需要手动调试大量参数&#xff0c;效率很低。后来尝试用AI辅助开发&#xff0c;发现效果出奇地好&#xff0c;今天就来分享一下这个探索过程。 构建测…...

10分钟快速上手SecGPT:网络安全大模型入门实战指南

10分钟快速上手SecGPT&#xff1a;网络安全大模型入门实战指南 【免费下载链接】SecGPT SecGPT网络安全大模型 项目地址: https://gitcode.com/gh_mirrors/se/SecGPT SecGPT是全球首个网络安全开源大模型&#xff0c;专为网络安全场景打造&#xff0c;旨在以人工智能技术…...

WarcraftHelper:魔兽争霸3终极兼容性工具,轻松实现5大版本完美适配

WarcraftHelper&#xff1a;魔兽争霸3终极兼容性工具&#xff0c;轻松实现5大版本完美适配 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否想让…...

普通砂浆痛点频发?星耀启新高性能砂浆,省心提质免返工

砂浆是建筑装修的核心根基&#xff0c;不少从业者只盯着普通砂浆的低价&#xff0c;却忽略了背后的施工麻烦、质量隐患与隐形损耗。星耀启新深耕砂浆领域&#xff0c;直击行业痛点&#xff0c;用标准化高性能产品&#xff0c;帮你彻底避开普通砂浆的连环坑。普通砂浆的三大核心…...

SEO 培训 PPT 中如何设计生动有趣的课件

SEO 培训 PPT 中如何设计生动有趣的课件 在现代教育和培训领域&#xff0c;PPT 作为一种重要的教学工具&#xff0c;已经成为无法被忽视的存在。特别是在 SEO 培训中&#xff0c;一个生动有趣的课件不仅能够提高学员的参与度&#xff0c;还能帮助他们更好地理解和掌握复杂的 S…...

联想拯救者Y7000系列BIOS隐藏功能一键解锁工具:3分钟开启高级设置,轻松安装黑苹果

联想拯救者Y7000系列BIOS隐藏功能一键解锁工具&#xff1a;3分钟开启高级设置&#xff0c;轻松安装黑苹果 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具&#xff0c;例如关闭CFG LOCK、修改DVMT等等 项目地…...

插件语言转换解决方案:让Obsidian插件无缝支持中文界面

插件语言转换解决方案&#xff1a;让Obsidian插件无缝支持中文界面 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n obsidian-i18n&#xff08;国际化缩写&#xff09;是一款专为中文用户设计的Obsidian插件翻译工具&#…...

掌握Agentic RAG:大模型检索进阶实践,小白也能轻松收藏学习!

掌握Agentic RAG&#xff1a;大模型检索进阶实践&#xff0c;小白也能轻松收藏学习&#xff01; 本文深入解析了Agentic RAG架构如何通过智能代理能力、动态任务规划和多步骤推理&#xff0c;超越传统RAG的被动模式&#xff0c;实现复杂问题的自主拆解与精准回答。以DeepSearch…...

StructBERT中文句子匹配效果展示:客服问题精准召回、论文查重阈值调优案例

StructBERT中文句子匹配效果展示&#xff1a;客服问题精准召回、论文查重阈值调优案例 1. 引言&#xff1a;为什么需要精准的句子匹配&#xff1f; 在日常工作和生活中&#xff0c;我们经常遇到这样的场景&#xff1a; 客服系统中&#xff0c;用户问"怎么修改登录密码&…...

OFA-Image-Caption模型C语言接口封装实战:赋能传统嵌入式系统

OFA-Image-Caption模型C语言接口封装实战&#xff1a;赋能传统嵌入式系统 如果你在做一个智能摄像头项目&#xff0c;或者想给一台老旧的工业设备加上“看图说话”的能力&#xff0c;你可能会发现一个尴尬的局面&#xff1a;最新的AI模型大多是用Python写的&#xff0c;而你的…...