leetcode 955

955: 删列造序Ⅱ

题意:在执行删除操作之后,最终得到的数组的元素是按 字典序 (strs[0] <= strs[1] <= strs[2] ... <= strs[n - 1])排列的。

从上往下一列一列遍历:

  • 一旦遇到ai > bi,直接不符
  • 一旦遇到ai < bi,直接符合(后面不用看了)
  • 如果遇到ai = bi,目前符合,继续往后看

第一列是升序,不删;对于第二列,此时第二列分成了两组 c,d 和 a,b,只需判断组内字母是不是升序,而不是完整地比较第二列的四个字母。

复制代码
class Solution {
public:
    int minDeletionSize(vector<string>& strs) {
        int n=strs.size(),m=strs[0].size();
        vector<bool> del(n-1,false);

        int ans=0;
        for(int j=0;j<m;j++){
            bool keep=true;
            for(int i=1;i<n;i++){
                if(!del[i-1] && strs[i-1][j]>strs[i][j]){
                    keep=false; //删除
                    break;
                }
            }
            if(keep){
                for(int i=1;i<n;i++){
                    if(strs[i-1][j]<strs[i][j]) del[i-1]=true;
                }
            }
            else ans++;
        }
        return ans;
    }
};
相关推荐
用户老李7 小时前
卡尔曼滤波自学教程 10:无迹卡尔曼滤波(UKF)
算法
深圳市益普科技有限公司9 小时前
半导体良率管理YMS:良率与设备参数的相关性,先拉哪几组数据
人工智能·python·算法
挖井观天9 小时前
《Java数据结构》第一讲:顺序表
数据结构
程序员清风10 小时前
算法题中的边界条件、测试与调试
开发语言·算法·kotlin
炘爚10 小时前
数据结构算法总结
数据结构·python·算法
Dageno_AI10 小时前
ChatGPT 不再引用 Reddit 之后,还值得在 Reddit 上做 AI 可见度吗?
算法
hetao173383710 小时前
2026-10-25 hetao1733837 的刷题记录
c++·算法
Jsundoku11 小时前
第七章 机器学习 -- 其他经典算法
人工智能·算法·机器学习
进击的丸子11 小时前
基于 ArcFace SDK 的跨平台人脸特征值下发、同步以及存储方案
后端·算法·代码规范
见叶之秋11 小时前
【C++】红与黑的边界:红黑树从插入到自检
数据结构·c++·算法·面试