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

海淘网站建设成都软件开发培训机构

海淘网站建设,成都软件开发培训机构,网页制作与网站建设知识框架图,本溪网站设计公司字符串 摘自Python文档-标准库#xff1a; 在Python中#xff0c; 字符串是由 Unicode 码位构成的不可变序列。 由于不存在单独的“字符”类型#xff0c;对字符串做索引操作将产生一个长度为 1 的字符串。 也就是说#xff0c;对于一个非空字符串 s, s[0] s[0:1]。 不存…字符串 摘自Python文档-标准库 在Python中 字符串是由 Unicode 码位构成的不可变序列。 由于不存在单独的“字符”类型对字符串做索引操作将产生一个长度为 1 的字符串。 也就是说对于一个非空字符串 s, s[0] s[0:1]。 不存在可变的字符串类型但是 str.join() 或 io.StringIO 可以被被用来根据多个片段高效率地构建字符串。 字符串常用方法 查找子串 str.find(_sub_[, _start_[, _end_]]) 返回子字符串 sub 在 s[start:end] 切片内被找到的最小索引。 可选参数 start 与 end 会被解读为切片表示法。 如果 sub 未被找到则返回 -1拼接字符串 str.join(_iterable_) 返回一个由 iterable 中的字符串拼接而成的字符串。 如果 iterable 中存在任何非字符串值包括 bytes 对象则会引发 TypeError。 调用该方法的字符串将作为元素之间的分隔。切割字符串 str.split(_sepNone_, _maxsplit- 1_) 返回一个由字符串内单词组成的列表使用 sep 作为分隔字符串。 如果给出了 maxsplit则最多进行 maxsplit 次拆分因此列表最多会有 maxsplit1 个元素。 如果 maxsplit 未指定或为 -1则不限制拆分次数进行所有可能的拆分。去除前导和末尾字符 str.strip([_chars_]) 返回原字符串的副本移除其中的前导和末尾字符。 chars 参数为指定要移除字符的字符串。 如果省略或为 None则 chars 参数默认移除空白符。 实际上 chars 参数并非指定单个前缀或后缀而是会移除参数值的所有组合。 344.反转字符串 输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 #双指针 class Solution:def reverseString(self, s: List[str]) - None:Do not return anything, modify s in-place instead.n len(s)for i in range(n // 2):s[i], s[n - i - 1] s[n - i - 1], s[i]python中最简单的反转是用 [::-1] 541. 反转字符串 II #模拟 给定一个字符串 s 和一个整数 k从字符串开头算起每计数至 2k 个字符就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个则反转前 k 个字符其余字符保持原样。 按照题意模拟。 class Solution:def reverseStr(self, s: str, k: int) - str:right 2*kn len(s)res while right n: res s[right-2*k:right-k][::-1] s[right-k:right]right 2*kright - 2*kif n - len(res) k:res s[right:][::-1]elif n-len(res) k:res s[right:rightk][::-1] s[rightk:]return res可以借助Python切片特性简化 class Solution:def reverseStr(self, s: str, k: int) - str:p 0while p len(s):p2 p ks s[:p] s[p: p2][::-1] s[p2:]p p 2 * kreturn s剑指 Offer 05. 替换空格 请实现一个函数把字符串 s 中的每个空格替换成%20。 class Solution:def replaceSpace(self, s: str) - str:res for c in s:if c :res %20else:res creturn res151. 反转字符串中的单词 给你一个字符串 s 请你反转字符串中 单词 的顺序。 class Solution:def reverseWords(self, s: str) - str:s [x for x in s.split( ) if x ! ] return .join(s[::-1])剑指 Offer 58 - II. 左旋转字符串 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如输入字符串abcdefg和数字2该函数将返回左旋转两位得到的结果cdefgab。 class Solution:def reverseLeftWords(self, s: str, n: int) - str:s s[n:] s[:n]return s28. 找出字符串中第一个匹配项的下标 给你两个字符串 haystack 和 needle 请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标下标从 0 开始。如果 needle 不是 haystack 的一部分则返回 -1 。 最简单的是直接遍历 class Solution:def strStr(self, haystack: str, needle: str) - int:n len(haystack)left 0right len(needle)if right 0:return 0while right n:if haystack[left: right] needle:return leftleft 1right 1return -1 或者选择进入KMP: KMP算法名字由发明它的三个人的名字组成解决字符串的匹配问题。 假设在字符串s中匹配模板t saabaabaaf taabaaf 前缀和后缀即字符串的一部分。 前缀即a, aa, aab, aaba, aabaa 后缀即f, af, aaf, baaf, abaaf 最长相等前后缀前缀表next 利用前缀表当匹配失败的时候可以跳到下一个匹配的位置。本例中aabaaf匹配失败时找aabaa的前缀表,得到2于是下一个匹配b。 class Solution:def getNext(s):next [0] * len(s)j 0 # j代表前缀末尾next[j] 0for i in range(1,len(s)): # i代表后缀末尾while j 0 and s[i] ! s[j]:# 不等时回退jj next[j-1]if s[i] s[j]: # 相等时 j1j 1next[i] jreturn nextdef strStr(self, haystack: str, needle: str) - int:if len(needle) 0:return 0next Solution.getNext(needle)j 0for i in range(len(haystack)):while j 0 and haystack[i] ! needle[j]:j next[j-1]if haystack[i] needle[j]:j 1if j len(needle):return i-len(needle)1 return -1getNext的jnext[j-1]那里不是特别明白但是背下来了。 next[j]就是记录着j包括j之前的子串的相同前后缀的长度。 重复的子字符串 给定一个非空的字符串 s 检查是否可以通过由它的一个子串重复多次构成。 暴力 class Solution:def repeatedSubstringPattern(self, s: str) - bool:n len(s)if n 1:return Falsesubstr for i in range(1, n//2 1):if n % i 0:substr s[:i]if substr * (n//i) s:return Truereturn Falsefind 如果s由重复子串组成那么两个s拼接在一起中间肯定会再出现一个s。 (当然这只说明了必要性还要证明充分性。) class Solution:def repeatedSubstringPattern(self, s: str) - bool:n len(s)if n 1:return Falsess s[1:] s[:-1] return ss.find(s) ! -1字符串小结 字符串简单的题很简单就是双指针、模拟主要考察对字符串的基本操作。 复杂的会涉及到KMP在s中找t。虽然有库函数(find)可以实现这个过程。
http://www.w-s-a.com/news/586102/

相关文章:

  • 做任务的设计网站泰州哪里做网站
  • 什么网站可以做设计赚钱吗南京十大软件公司排名
  • 网站开发时间进度北京有哪些著名网站
  • 深圳比较好的设计网站公司自己的网站到期域名如何续费
  • 温州做网站哪儿新云网站模版
  • 网站开发 视频存在哪检察院前期网站建设
  • 备案中的网站信息怎么填如何做分享赚钱的网站
  • 网站行程表怎么做注册公司费用要多少
  • 常见电子商务网站基本模式南山网站公司定
  • 网站搭建代码网站里面送礼物要钱怎么做代码
  • 大学英文网站建设举措wordpress 学院 模板
  • 爱 做 网站吗php网站作业模版
  • wordpress代码乱吗台州做网站seo的
  • 做ptt网站wordpress中文企业网站
  • 深圳雨棚制作深圳 网站优化公司排名
  • 深圳优秀网站建设价格wordpress没人用
  • 国企网站建设需要注意沈阳招标信息网
  • 东莞360推广的网站是谁做的上海网络推广产品
  • 网站可以换主机吗中国十大网站建设企业
  • 怎么做盗版小说网站官网做有下拉列表的网站的图片
  • 邢台网站建设电话网站界面类型
  • 网站制作合同模板做一个网站能挣多少钱
  • 汶上1500元网站建设互联网高端官网
  • 广州做公司网站网站开发培训机构
  • 网站建设与维护 课件网页版qq安全中心登录入口
  • 做三个月网站广告收入dw如何制作网页
  • ...课程网站建设简介工信部 网站备案查询
  • 网站代码建设 实例企业网站建设大概的费用
  • 制作网站软件排行榜过年做啥网站致富
  • 哪里有做网站企业seo关键词优化