| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> LeetCode每日一题(Delete Columns to Make Sorted II) -> 正文阅读 |
|
[数据结构与算法]LeetCode每日一题(Delete Columns to Make Sorted II) |
You are given an array of n strings strs, all of the same length. We may choose any deletion indices, and we delete all the characters in those indices for each string. For example, if we have strs = [“abcdef”,“uvwxyz”] and deletion indices {0, 2, 3}, then the final array after deletions is [“bef”, “vyz”]. Suppose we chose a set of deletion indices answer such that after deletions, the final array has its elements in lexicographic order (i.e., strs[0] <= strs[1] <= strs[2] <= … <= strs[n - 1]). Return the minimum possible value of answer.length. Example 1:
Explanation: After deleting the first column, strs = [“a”, “b”, “c”].
Explanation: strs is already in lexicographic order, so we do not need to delete anything. Example 3:
Explanation: We have to delete every column. Constraints:
这是这段时间以来做过的最令我激动的题目,一路骂着娘做下来的。思路不复杂,实现要人命,再加上rust对字符串的处理又不太方便,造成中间一度想砸显示器。 这题我不知道有没有其他的解决方法,但是开始试了两次之后,我的思路基本就形成了:
写到这我发现这鬼题目就连想把想法说清楚都很难,我们可以把原始的字符串数组看做一个char的矩阵。比如
假设count为最终需要删除列的计数
i > h > g > f > e, 都是逆序的, 所以这一列需要删除(只要有一个逆序就要删除), count++ 矩阵变成:
我们接着往下看
a = a < c = c < d, 没有逆序,但是有相等, 这时我们只需要把字符相等的字符串组成一组进行后面的判断就好了, d因为没有重复,所以我们可以忽略掉它了 于是剩下的字符矩阵变成了
第一组x < z, 可以宣告成立, 第二组, d < e, 也宣告成立,于是可以返回count了。 我已经尽力说清楚了,不过我实在不知道这种从左到右,高度收窄,并且还要进行分组对比,并且还要保持BFS的搜索方式应该怎么描述。总之我感觉很变态。 代码实现(Rust):
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:26:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |