【LeetCode】567. Permutation in String
来源:互联网 发布:开机mysql弹出怎么办 编辑:程序博客网 时间:2024/05/25 08:13
567. Permutation in String
介绍
Given two strings s1 and s2, write a function to return true if s2 contains the permutation of s1. In other words, one of the first string’s permutations is the substring of the second string.
Example 1:
Input:s1 = "ab" s2 = "eidbaooo"Output:TrueExplanation: s2 contains one permutation of s1 ("ba").
Example 2:
Input:s1= "ab" s2 = "eidboaoo"Output: False
Note:
The input strings only contain lower case letters.
The length of both given strings is in range [1, 10,000].
解答
class Solution {public: //在字符串s2上设置一个滑动窗口,窗口大小是s1的长度, //如果在这个窗口内包含s1的所有字母元素, //就说明这个窗口内的所有元素组合在一起之后一定是s1的一个全排列 bool checkInclusion(string s1, string s2) { int len1 = s1.size(),len2 = s2.size(); if(len2 < len1) return false; if(len1 == 0) return true; vector<int> mapping1(26),mapping2(26); for(int i = 0; i < len1; ++i) { ++mapping1[s1[i]-'a']; ++mapping2[s2[i]-'a']; } if(mapping1 == mapping2) return true; for(int i = 1; i+len1-1 < len2; ++i) { --mapping2[s2[i-1]-'a']; ++mapping2[s2[i+len1-1]-'a']; if(mapping1 == mapping2) return true; } return false; }};
阅读全文
0 0
- [leetcode]567. Permutation in String
- [leetcode] 567. Permutation in String
- 【LeetCode】567. Permutation in String
- [LeetCode] 567. Permutation in String
- Leetcode 567. Permutation in String
- leetcode 567. Permutation in String 滑动窗口
- [Leetcode] 567. Permutation in String 解题报告
- LeetCode #567 Permutation in String
- 567. Permutation in String
- 567. Permutation in String
- 567. Permutation in String
- 567. Permutation in String
- Leetcode之Permutation in String 问题
- LeetCode[567]Permutation in String(Java)
- 567. Permutation in String Medium
- 567. Permutation in String 字符串置换
- Permutation in String
- Permutation in String
- for循环练习
- 【Android】Binder传送文件描述符分析
- 斯坦福机器学习课程笔记1
- aliyun阿里云Maven仓库地址——加速你的maven构建
- Android6.0 systemui锁屏流程解析
- 【LeetCode】567. Permutation in String
- Hadoop之HDFS(一)
- JSP隐式对象
- java数组查询
- python用不同颜色打印
- 在Python编程语言中使用os.path.isdir()函数操作介绍
- c语言基础
- 串口发送一帧数据时,两个字节的间隔时间是多少?
- Qt中文件写入和读取