程序员面试金典 - 面试题 17.18. 最短超串(双指针+哈希)
生活随笔
收集整理的這篇文章主要介紹了
程序员面试金典 - 面试题 17.18. 最短超串(双指针+哈希)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
假設你有兩個數組,一個長一個短,短的元素均不相同。
找到長數組中包含短數組所有的元素的最短子數組,其出現順序無關緊要。
返回最短子數組的左端點和右端點,如有多個滿足條件的子數組,返回左端點最小的一個。
若不存在,返回空數組。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/shortest-supersequence-lcci
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 雙指針,small 插入哈希 set
- 哈希map記錄區間 [i,j] 內存在于 set 內的元素的個數,當map計數為0是,將其刪除
- 維持map.size == set.size,map的size不夠,j++,夠了,i++
372 ms 54.2 MB
總結
以上是生活随笔為你收集整理的程序员面试金典 - 面试题 17.18. 最短超串(双指针+哈希)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LintCode 1689. k求和II
- 下一篇: 剑指Offer - 面试题54. 二叉搜