当前位置: 首页 > news >正文

A.每日一题——955. 删列造序 II

题目链接:955. 删列造序 II(中等)

算法原理:

解法:贪心

14ms击败14.29%

时间复杂度O(Nm²)

①缓存初始化
定义字符串数组a,长度与输入数组s一致,初始值为空字符串,用于存储每行已保留列的拼接结果
②逐列遍历判断
依次处理每一列(从第 0 列到最后一列),判断当前列是否能保留
③列保留性校验
对每一行,将当前列字符拼接到缓存字符串后,比较当前行与下一行的拼接结果
若出现前一行拼接结果 > 后一行(逆序),说明该列不能保留:删除计数 + 1,直接跳过当前列,处理下一列
④更新缓存(列可保留时)
若当前列可保留,将每行的当前列字符拼接到缓存数组对应位置,更新已保留列的拼接结果
⑤返回结果
最终统计的删除列数即为答案

Java代码:

class Solution { public int minDeletionSize(String[] s) { int n=s.length,m=s[0].length(),ret=0; String[] a=new String[n]; Arrays.fill(a,""); next://此处next跟下面的循环绑定,直接继续迭代下一次循环 //遍历每一列 for(int i=0;i<m;i++){ //遍历每一个字符串 for(int j=0;j<n-1;j++){ if((a[j]+s[j].charAt(i)).compareTo(a[j+1]+s[j+1].charAt(i))>0){ ret++; continue next; } } //执行到这里说明,第i列可以保留 //更新缓存数组:字符串可以直接+=追加 for(int j=0;j<n;j++) a[j]+=s[j].charAt(i); } return ret; } }
http://www.jsqmd.com/news/119838/

相关文章:

  • python: 报错: ModuleNotFoundError: No module named fitz
  • 【计算机毕业设计案例】基于springboot的实验室预约系统的设计与实现实验室使用情况设备预约、时段管控、使用记录及安全监管的数字化服务(程序+文档+讲解+定制)
  • Select用法
  • 计算机Java毕设实战-基于SpringBoot+Vue实现的前后端分离在线考试系统基于springboot的在线考试系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 【毕业设计】基于springboot的在线考试系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 计算机Java毕设实战-基于springboot的闲置资产管理系统的设计与实现基于SpringBoot的闲置固定资产管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Level 10 → Level 11
  • OKR 要不要考核?
  • 【课程设计/毕业设计】基于springboot的在线考试系统的设计与实现考试评分管理,试卷管理【附源码、数据库、万字文档】
  • go项目使用go build 与 MakeFile 构建项目
  • CSP解决并发
  • Level 9 → Level 10
  • pdf2zh -i 报错: ImportError: libGL.so.1: cannot open shared object file: No such file or directory
  • MongoDB小课堂: 容器化部署与执行综合指南
  • MongoDB小课堂: 容器化部署与执行综合指南
  • Java毕设选题推荐:基于javaweb在线考试系统设计与实现基于springboot的在线考试系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • python:报错:ModuleNotFoundError: No module named docx
  • 解读一个简单的x64程序的反汇编结果
  • 实测 9 款 AI 写论文哪个好?这款工具凭 “真实文献 + 规范图表” 赢麻了!
  • LLM基础
  • 实用指南:把 Spring Boot 的启动时间从 3 秒打到 30 毫秒,内存砍掉 80%,让 Java 在 Serverless 时代横着走
  • 你是你吃出来的
  • 整体二分总结
  • [强网杯 2019]upload
  • 系统文件eapprovp.dll丢失或损坏 免费下载修复方法
  • Java毕设选题推荐:基于springboot的闲置资产管理系统的设计与实现基于SpringBoot的公司资产管理系统设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 最新ASNT七大无损检测技巧全解析(RT/UT/PA/MT/PT/ECT/VT实操指南)- 上海欧鑫 ASNT 认证培训
  • 基于深度学习的草莓健康度检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
  • 【git】企业级开发模型 - 实践
  • MATLAB电力系统继电保护之自动重合闸