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

湖北洪湖市建设局网站个人博客响应式模板

湖北洪湖市建设局网站,个人博客响应式模板,建站之星破解版下载,韩国的 电子商务网站给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 words [“ab”,“cd”,“ef”], 那么 “abcdef”, “abefcd”&am…

给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。

s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。

例如,如果 words = [“ab”,“cd”,“ef”], 那么 “abcdef”, “abefcd”,“cdabef”, “cdefab”,“efabcd”, 和 “efcdab” 都是串联子串。 “acdbef” 不是串联子串,因为他不是任何 words 排列的连接。
返回所有串联子串在 s 中的开始索引。你可以以 任意顺序 返回答案。

C++

class Solution {
public:string nstring(string str,int n){string result_str="";for( int i=0;i<n;i++ ){result_str.append(str);}return result_str;}unordered_map<string,int> list2map(vector<string>& temp_vector){unordered_map<string,int> result_map;for( string temp_str:temp_vector ){result_map[temp_str]++;}return result_map;}void refillmap(unordered_map<string,int>& result_map,unordered_map<string,int>& data_map){for( const auto& pair : result_map ){data_map[pair.first]=pair.second;}}vector<int> findSubstring(string s, vector<string>& words) {vector<int> res;int length = words[0].size();//the length of the word.int total_length=length*words.size();//the total length of the word.if( total_length>s.size() ){return res;}unordered_map<string,int> result_map=list2map(words);unordered_map<string,int> data_map;refillmap(result_map,data_map);string target_str="";if(1==data_map.size()){target_str=nstring(words[0],words.size());}int gap=length;for( int i=0;i<s.size();i++ ){if( s.size()-i<total_length){break;}int n=words.size();if(1==data_map.size()){gap=total_length;string current_str=s.substr(i,gap);    if(current_str==target_str){res.push_back(i);}}else{int a=i;int b=a+(words.size()-1)*length;while( a<=b && n>0 && a<=s.size()-gap && b>=0 ){string current_str=s.substr(a,gap);string last_str=s.substr(b,gap);if(data_map[current_str]>0){data_map[current_str]--;n--;a=a+gap;}else{break;}if(data_map[last_str]>0){data_map[last_str]--;n--;b=b-gap;}else{break;}}if(n<words.size() &&(s.size()-i-1)>=total_length){refillmap(result_map,data_map);}if(0==n){res.push_back(i);}}}return res;}
};

时间复杂度

O ( N ∗ M ) O(N*M) O(NM)

空间复杂度

O ( N ) O(N) O(N)

Java

class Solution {Map<String,Integer> list2map(String [] words){Map<String,Integer> result_map=new HashMap<String,Integer>();for( String str:words ){if(result_map.containsKey(str)){result_map.put(str,result_map.get(str)+1);}else{result_map.put(str,1);}}return result_map;}String nstring(String str,int n){StringBuilder strBuilder=new StringBuilder("");for( int i=0;i<n;i++ ){strBuilder.append(str);}return strBuilder.toString();}void refillmap(Map<String,Integer> result_map,Map<String,Integer> data_map){Set<String> keys = result_map.keySet();for( String key:keys ){data_map.put(key,result_map.get(key));}}public List<Integer> findSubstring(String s, String[] words) {List<Integer> ans=new ArrayList<Integer>();int length=words[0].length();int total_length=words.length*length;if( s.length()<total_length ){return ans;}Map<String,Integer> result_map=list2map(words);Map<String,Integer> data_map=new HashMap<String,Integer>();refillmap(result_map,data_map);for( int i=0;i<s.length();i++ ){if( 1==data_map.size() && i+total_length<s.length() ){String targetString=nstring(words[0],words.length);String tempString=s.substring(i,i+total_length);if(targetString.equals(tempString)){ans.add(i);}}else{int a=i;int b=a+(words.length-1)*length;int n=words.length;while(a<=b && a<=s.length()-length && b<=s.length()-length && b>=0 ){String a_str=s.substring(a,a+length);String b_str=s.substring(b,b+length);if(data_map.containsKey(a_str)&&data_map.get(a_str)>0){data_map.put(a_str,data_map.get(a_str)-1);n--;a=a+length;}else{break;}if(data_map.containsKey(b_str)&&data_map.get(b_str)>0){data_map.put(b_str,data_map.get(b_str)-1);n--;b=b-length;}else{break;}}if(n<words.length){refillmap(result_map,data_map);}if(0==n){ans.add(i);}}}return ans;}
}

时间复杂度

O ( N ∗ M ) O(N*M) O(NM)

空间复杂度

O ( N ) O(N) O(N)

Python

class Solution:def list2map(self,words: List[str]):result_map={};for str in words:result_map[str]=result_map.get(str,0)+1;return result_map;def refillmap(self,result_map):data_map={};keys=result_map.keys();for str in keys:data_map[str]=result_map[str]return data_map;def nstring(self,str,n):result_str="";for i in range(n):result_str=result_str+str;return result_str;def findSubstring(self, s: str, words: List[str]) -> List[int]:ans=[];length=len(words[0]);total_length=len(words)*length;result_map=self.list2map(words);data_map=self.refillmap(result_map);for i in range(len(s)):if 1==len(data_map) and (i+total_length<=len(s)):target_str=self.nstring(words[0],len(words));current_str=s[i:i+total_length];if target_str==current_str:ans.append(i);else:a=i;b=a+(len(words)-1)*length;n=len(words);while a<=b and a<=len(s)-length and b>=0 and b<=len(s)-length:a_str=s[a:a+length];b_str=s[b:b+length];if a_str in data_map and data_map.get(a_str)>0:data_map[a_str]=data_map.get(a_str)-1;n=n-1;a=a+length;else:break;if b_str in data_map and  data_map.get(b_str)>0:data_map[b_str]=data_map.get(b_str)-1;n=n-1;b=b-length;else:break;if n<len(words):data_map=self.refillmap(result_map);if 0==n:ans.append(i);return ans;

时间复杂度

O ( N ∗ M ) O(N*M) O(NM)

空间复杂度

O ( N ) O(N) O(N)

http://www.dtcms.com/a/611561.html

相关文章:

  • 龙岩建设局网站声明网站搜索引擎优化主要方法
  • 联想网站建设与分析网络公司项目
  • 有什么网站做头像wordpress博客注册
  • 和15岁女儿做很舒服网站浏览器打开网站
  • 如何微信做演讲视频网站wordpress同步到微信
  • 【代码审计】迅睿CMS V4.6.2 Phar反序列化 RCE
  • 网站定制设计服务需要使用的技术三好街网站建设与维护
  • 哪些指纹浏览器支持模拟SSL指纹
  • 宜春做网站哪里好惠州网站建设领头
  • 【电机控制】基于STM32F103C8T6的二轮平衡车设计——LQR线性二次线控制器(算法篇)
  • BuildingAI 控制台智能体菜单和页面技术架构
  • 保定网站制作系统陕西省网站开发
  • 如何在跨部门沟通失误后进行协调与澄清
  • VS2010 C语言编译器使用教程 | 如何高效配置和优化C语言编译环境
  • 常州网站建设要多少钱濮阳免费网站建设
  • 学了lamp做网站就足够了吗无忧中英繁企业网站系统 完整
  • ubuntu:beyond compare 4 This license key has been revoked 解决办法
  • 基于OSip协议栈的GB28181视频平台--jrtp传输过程中作为接收方不发送rtcp包问题处理
  • java加密启动报错
  • SpringAOP、连接点、通知类型、通知顺序、切入点表达式
  • 平面设计师参考网站开发公司总经理竞聘报告
  • 手机可以看的网站如何查看网站是什么语言做的
  • 电源完整性11-电容安装电感的影响因素
  • 手机如何做车载mp3下载网站互联网公司排名深信服
  • 电商网站建设定制北京网站定制价格表
  • 水利网站建设管理汇报广告网站制作多少钱
  • 新建茶叶网站文章内容建设电子商务网站建设工资
  • SAP 如何恢复电子表格EXCEL导出允许选择格式
  • 瓦房店 网站建设二级域名怎么解析
  • 国外做化学申报的网站文化类网站是不是休闲娱乐类网站