LeetCode-day04-2938. 区分黑球与白球

LeetCode-day04-2938. 区分黑球与白球

  • 题目描述
  • 示例
    • 示例1:
    • 示例2:
  • 思路
  • 代码

题目描述

桌子上有 n 个球,每个球的颜色不是黑色,就是白色。

给你一个长度为 n 、下标从 0 开始的二进制字符串 s,其中 1 和 0 分别代表黑色和白色的球。

在每一步中,你可以选择两个相邻的球并交换它们。

返回「将所有黑色球都移到右侧,所有白色球都移到左侧所需的 最小步数」。

示例

示例1:

输入:s = “101”
输出:1
解释:我们可以按以下方式将所有黑色球移到右侧:
-交换 s[0] 和 s[1],s = “011”。
最开始,1 没有都在右侧,需要至少 1 步将其移到右侧。

示例2:

输入:s = “100”
输出:2
解释:我们可以按以下方式将所有黑色球移到右侧:
-交换 s[0] 和 s[1],s = “010”。
-交换 s[1] 和 s[2],s = “001”。
可以证明所需的最小步数为 2 。

思路

采用贪心策略。代码核心就是每次碰到0要挪动几个位置到连续的1的左侧!

代码

      public static long minimumSteps(String s) {long res = 0;long count = 0;for (int i = 0; i < s.length(); i++) {if (s.charAt(i) == '1'){count++;}else {res +=count;}}return res;}

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

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

相关文章

Centos7安装Zookeeper

Centos7安装Zookeeper 准备工作 https://zookeeper.apache.org/releases.html 下载稳定版的安装包。【注意&#xff1a;下载的是xxx-bin.tar.gz包 是可运行的zookeeper 而 xxx.tar.gz是源码包不可运行】 上传zookeeper的压缩包到指定目录/usr/local/zookeeper/ 安装Zookeepe…

从写简历到谈薪资的最全教程

从写简历到谈薪资的最全教程 目录简历注意事项举个例子写简历投递简历也有技巧模拟面试的重要性面试经验怎么刷不断迭代达越来越强斗智斗勇谈薪资拿到offer就结束了吗&#xff1f;我能给你的帮助 目录 大家好&#xff0c;我是一名普通本科毕业的学生&#xff0c;工作数年&#…

移动端 UI 风格,彰显品质

移动端 UI 风格&#xff0c;彰显品质

中子介程三

X$XFX$XqXyXqX$XFX$XqXyXqX$XαXηXtXαX$XWXyX$XyXWX$XpXαXqXηX$XeXαXhX$XyX$XpX$XyX$XyXeXαX$XqXyXqX$XαXeXyX$XyX$XpX$XyX$XhXαXeX$XηXqXαXpX$XWXyX$XyXWX$XαXtXηXαXpX$XEX$XZX$XpXαXηXtXαX$XWXyX$XyXWX$XpXαXqXηX$XeXαXhX$XyX$XpX$XyX$XyXeXαX$XqXyXqX$X…

嵌入式学习——网络编程(UDP)——day30

1. 协议 通信双方约定的一套标准成为协议 2. 国际网络协议标准 2.1 OSI七层模型(理论模型) 应用层:传输的数据&#xff08;a.out&#xff09; 表示层:数据是否加密 会话层:是否需要建立会话链接&#xff08;网络断开连接状态&#xff09; …

shell 变量引用 ${}、$,传参 $1、$2,四则运算 $[]

变量引用 两种&#xff1a; ${变量名} $变量名 例如&#xff1a; filepath"/home/mytool" filename"t1.txt" 可以写成 echo "$filepath/$filename" 或者 echo "${filepath}/${filename}"打印结果&#xff1a; /home/mytool/t1.tx…

[力扣题解] 617. 合并二叉树

题目&#xff1a;617. 合并二叉树 思路 递归法遍历&#xff0c;随便一种遍历方式都可以&#xff0c;以前序遍历为例&#xff1b; 代码 class Solution { public:TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {if(root1 NULL){return root2;}if(root2 NULL){r…

Java面试题:Redis数据过期策略

Redis数据过期策略 数据过期之后对数据进行删除的处理 惰性删除 每次需要该key时对key进行检查 如果过期就删除,反之就返回该key 对cpu友好,不用浪费时间进行过期检查 对内存不友好,如果key过期但没使用就会一直存在内存中不会释放 定期删除 每隔一段时间对一些key进行…

Linux软件安装以及网络请求和下载

目录 前言一、系统环境二、软件安装2.1 使用yum命令实现软件的自动化安装 三、网络请求和下载3.1 wget命令3.2 curl命令 总结 前言 本篇文章介绍如何在Linux系统上安装软件&#xff0c;以及如何发送网络请求并从网络下载文件。 一、系统环境 虚拟机版本&#xff1a;VMware W…

气膜乒乓球馆:新型体育设施的投资机遇—轻空间

乒乓球作为我国的国球&#xff0c;不仅在世界舞台上表现卓越&#xff0c;在国民的心目中也占有重要位置。随着科技的进步&#xff0c;气膜乒乓球馆作为一种新型体育设施&#xff0c;正逐渐走入大众视野&#xff0c;为乒乓球爱好者提供了一个舒适、安全、环保的运动场所。那么&a…

linux的编辑安装

yum remove 软件名 注意&#xff1a;yum安装自动解决各种依赖&#xff0c;安装位置固定不可改 编辑安装 安装源码包的过程&#xff1a; 1.解压源码包 2.进入解压目录 3.安装依赖 4.执行./configure 1)检查当前系统环境是否满足后续操作 2)指定软件…

Linux环境---在线安装MYSQL数据库

Linux环境—在线安装MYSQL数据库 一、使用步骤 1.安装环境 Mysql 驱动 8.0 需要 jdk1.8 才行。 JDK版本&#xff1a;1.8 参考文档 MYSQL版本&#xff1a;8.0.2 下载链接: https://pan.baidu.com/s/1MwXIilSL6EY3OuS7WtpySA?pwdg263 操作系统&#xff1a;CentOS 1.1 建立存…

【论文阅读】MODELING AND SOLVING THE TRAVELING SALESMAN PROBLEM WITH PRIORITY PRIZES

文章目录 论文基本信息摘要1.引言2. INTEGER QUADRATIC PROGRAM FOR TSPPP3. MIXED INTEGER LINEAR PROGRAMS FOR TSPPP4. TABU SEARCH ALGORITHM FOR TSPPP5. COMPUTATIONAL RESULTS6. CONCLUDING REMARKS补充 论文基本信息 《MODELING AND SOLVING THE TRAVELING SALESMAN P…

hadoop部署hive

1.安装mysql数据库 这里采用docker部署mysql,如果没有安装docker #安装yum工具 yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken #设置docker镜像源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/…

搜索引擎优化服务如何寻找?

首先你要了解搜索引擎优化&#xff0c;也就是seo具体是什么&#xff0c;要做些什么&#xff0c;然后就是确定你自身业务的需求&#xff0c;是要特定的关键词排名&#xff0c;还是整体网站流量的提升&#xff0c;还是想要优化目前的网站 接下来你就可以正式的寻找真正能帮助到你…

图的相关种类

目录 数据类型 存储结构 邻接矩阵表示法 无向图 邻接矩阵表示 有向图 网 实现 邻接矩阵表示 存储结构 创建无向图 优点 缺点 邻接表法表示 表示无向图 表示有向图 存储结构 无向网 特点 十字链表与多重表 十字链表 存储结构 多重表 存储结构 数据类型 存…

SharePoint:智能内容管理,释放数据价值

在Microsoft 365的庞大生态系统中&#xff0c;SharePoint常常被忽视&#xff0c;但它却是整个平台的核心。SharePoint不仅承载着OneDrive、Teams、Power Platform等所有Microsoft 365产品的内容存储&#xff0c;更是企业协作和内容管理的基石。助AI技术的加持&#xff0c;Share…

VBA实战(Excel)(4):实用功能整理

1.后台打开Excel 用于查数据&#xff0c;工作中要打开多个表获取数据再关闭的场景&#xff0c;利用此函数可以将excel表格作为后台数据库查询&#xff0c;快速实现客户要求&#xff0c;缺点是运行效率不够高。 Sub openexcel(exl_name As String)If Dir(addr, 16) Empty Then…

遗址博物馆ar互动展示软件提供丰富的趣味化体验

在自然博物馆的每一个角落&#xff0c;都隐藏着大自然的奥秘与魅力。为了让每一位参观者都能深入体验、探索这些奥秘&#xff0c;我们引入了前沿的AR技术&#xff0c;为您带来一场前所未有的沉浸式自然之旅。 步入博物馆&#xff0c;您手中的AR相机将成为您的更佳向导。自然博物…

Python语言在金融领域的应用探索

Python语言在金融领域的应用探索 Python语言&#xff0c;以其简洁、易读和强大的功能库&#xff0c;近年来在金融领域崭露头角。它不仅为数据分析师、量化分析师和交易员提供了强大的工具&#xff0c;还在风险管理、投资组合优化等方面发挥了重要作用。本文将深入剖析Python语…