前天面了腾讯后台开发日常实习二面,一道算法题分享给大家~
有一个字符串,它包括‘&’、‘=’和小写字母,要求将‘=’左边右边的字符串进行匹配,以‘&’为分隔符,将匹配结果放入一个map中。
要求兼容&&&(多个分隔符),===(多个等号),=a=b=c(一个字段内出现多个不连续等号)等异常。
例如 :&abd=cd&cda===baad&dc=wq,将abd匹配cd,cda匹配baad,dc匹配wq。
例如 :&ag=cd=sv&&da=&dc&&&&dav=dwq&,将dav匹配dwq。
附上我自己写的代码~欢迎相互学习和交流~
https://blog.csdn.net/zxxkkkk/article/details/
109547393
有一个字符串,它包括‘&’、‘=’和小写字母,要求将‘=’左边右边的字符串进行匹配,以‘&’为分隔符,将匹配结果放入一个map中。
要求兼容&&&(多个分隔符),===(多个等号),=a=b=c(一个字段内出现多个不连续等号)等异常。
例如 :&abd=cd&cda===baad&dc=wq,将abd匹配cd,cda匹配baad,dc匹配wq。
例如 :&ag=cd=sv&&da=&dc&&&&dav=dwq&,将dav匹配dwq。
附上我自己写的代码~欢迎相互学习和交流~
https://blog.csdn.net/zxxkkkk/article/details/
109547393
全部评论
哇,感觉有点难度。先根据"&"串分隔每一个处理的串,然后根据"="串去提取左右两边的子串,再把,pair<string,string>(左串,右串) 和 pair<string,string>(右串,左串) 放到map里吗
现在面试日常实习,通过后啥时候可以上班呀
相关推荐