白球专题

Day 14:2938. 区分黑球和白球

Leetcode 2938. 区分黑球和白球 桌子上有 n 个球,每个球的颜色不是黑色,就是白色。 给你一个长度为 n 、下标从 0 开始的二进制字符串 s,其中 1 和 0 分别代表黑色和白色的球。 在每一步中,你可以选择两个相邻的球并交换它们。 返回「将所有黑色球都移到右侧,所有白色球都移到左侧所需的 最小步数」。 不管输入字符串是何种状态,它的最终状态都是 0 在前面,1 在后

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

LeetCode-day04-2938. 区分黑球与白球 题目描述示例示例1:示例2: 思路代码 题目描述 桌子上有 n 个球,每个球的颜色不是黑色,就是白色。 给你一个长度为 n 、下标从 0 开始的二进制字符串 s,其中 1 和 0 分别代表黑色和白色的球。 在每一步中,你可以选择两个相邻的球并交换它们。 返回「将所有黑色球都移到右侧,所有白色球都移到左侧所需的 最小步

LeetCode每日一题 | 2938.区分黑球与白球 | 数组逆序+计数器

📌题目描述 大家好,今天要分享的是一道有趣的LeetCode题目:Separate Black and White Balls!这道题的任务是计算将字符串中的所有’1’移动到所有’0’之前所需的最小步数。🤔 📌思路分析 在正式开始解题前,先来梳理一下思路: 统计0的数量:每当遇到一个’0’,意味着后续所有的’1’都需要在它前面,所以我们要记录已经遇到的’0’的数量。累加步数:每当遇到

2938. 区分黑球与白球

题目 桌子上有 n 个球,每个球的颜色不是黑色,就是白色。 给你一个长度为 n 、下标从 0 开始的二进制字符串 s,其中 1 和 0 分别代表黑色和白色的球。 在每一步中,你可以选择两个相邻的球并交换它们。 返回「将所有黑色球都移到右侧,所有白色球都移到左侧所需的 最小步数」。 示例 1: 输入:s = "101" 输出:1 解释:我们可以按以下方式将所有黑色球移到右侧: 交换

LeetCode-2938. 区分黑球与白球【贪心 双指针 字符串】

LeetCode-2938. 区分黑球与白球【贪心 双指针 字符串】 题目描述:解题思路一:贪心解题思路二:一次遍历统计'1'的个数,找'0'后累加左边的'1'的个数解题思路三: 题目描述: 桌子上有 n 个球,每个球的颜色不是黑色,就是白色。 给你一个长度为 n 、下标从 0 开始的二进制字符串 s,其中 1 和 0 分别代表黑色和白色的球。 在每一步中,你可以选择两个相邻

黑球,白球各100,问最后剩下一个是黑球的概率。

题目:有一个桶,里面有白球、黑球各100个,人们必须按照以下的规则把球取出来: 1、每次从桶里面拿出来两个球; 2、如果是两个同色的球,就再放入一个黑球; 3、如果是两个异色的球,就再放入一个白球; 问:最后桶里面只剩下一个黑球的概率是多少? 解法一: 我们可一个用一个set(黑球数量,白球数量)来表示桶中的黑球和白球的个数。从桶中取出球后,只可能是下列三种操作:

Leetcode2938. 区分黑球与白球

Every day a Leetcode 题目来源:2938. 区分黑球与白球 解法1:贪心 把 ‘0’ 挪到相应的位置。 类似于冒泡排序的思想,把 ‘0’ 挪到相应的位置。 示例: 代码: /** @lc app=leetcode.cn id=2938 lang=cpp** [2938] 区分黑球与白球*/// @lc code=startclass Solution{p