leetcode 2938.区分白球与黑球

leetcode 2938.区分白球与黑球(传送门)

**思路:**把1放右边,0放左边,只要把0全部放好那么1肯定也全部放好了。考虑将靠左的0放在靠左的位置,也就是第i个0要放到下标为i-1的位置,所以直接遍历并更新已就位的0的个数即可。

时间复杂度 O(n)

cpp 复制代码
class Solution {
public:
    long long minimumSteps(string s) {
        long long n=s.length(),sum=0,ct=0;
        for(int i=0;i<n;i++){
            if(s[i]=='0'){
                sum+=i-ct;
                ct++;
            }
        }
        return sum;
    }
};
相关推荐
L歪歪君19 分钟前
Apache Doris全链路性能优化实战指南:从架构设计到生产落地
java·开发语言·算法
m0_4665252929 分钟前
从“算法内卷”到“可信易用” 东软多模态医学人工智能平台开启无代码科研新时代
人工智能·算法
码少女1 小时前
数据结构——冒泡排序及优化
数据结构·算法·排序算法
梦回江东1 小时前
ansible中的主机清单
算法
青梅橘子皮1 小时前
string---入门OJ题(1)
数据结构·算法
qq_454245031 小时前
BasicMethod.Map 设计框架:8 个并行基础模块的数学根基与实现
数据结构·算法·c#
青山木2 小时前
Hot 100 --- 二叉树与递归
java·数据结构·算法·leetcode·深度优先
珠海西格电力2 小时前
数据采集与治理:零碳园区管理系统的 “生命线”
大数据·人工智能·算法·架构·能源
●VON3 小时前
HarmonyKit | 鸿蒙新特性:router 导航 API 从 pushUrl 到 UIContext 的演进
算法·华为·交互·harmonyos
星释3 小时前
鸿蒙智能体开发实战:31.鸿蒙壁纸大师 - 环境搭建与基础配置
算法·华为·ai·harmonyos·鸿蒙