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;
    }
};
相关推荐
我爱工作&工作love我几秒前
P14359 [CSP-J 2025] 异或和
算法
茉莉玫瑰花茶1 分钟前
GO [ 数据格式 ]
服务器·网络·算法·golang
小poop3 分钟前
高级排序算法与性能对比——归并、非比较排序及总结
数据结构·算法·排序算法
aqiu1111113 分钟前
CodeTop按顺序刷题0003:LeetCode 206. 反转链表(迭代法图文详解与动态演示)
算法·leetcode·链表
果霸大叔30 分钟前
AI网关第8篇:AI 代理与负载均衡--多模型实例如何调度?
人工智能·算法·自然语言处理·负载均衡·ai-native
不会就选b35 分钟前
算法日常・每日刷题--<动态规划>29
数据结构·算法·leetcode
垆边人似月.43 分钟前
最少的元素个数使和为 target
数据结构·c++·算法
炽橙超真云1 小时前
2D 工程图纸如何自动转成可编辑 3D 模型?拆解读图与建体两条技术路径(DXF/DWG/PDF 到 STEP)
算法·3d·工业智能·工业ai
夕除1 小时前
redis--dict rehash
算法·哈希算法
云上先途11 小时前
Agent 轨迹数据一般包含哪些内容,加工的核心目标是什么?
人工智能·算法·机器学习