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

南通仿站定制模板建站wordpress 关键词过滤

南通仿站定制模板建站,wordpress 关键词过滤,建筑设计网站issuu,天河网站开发目录 题目#xff1a;最长公共前缀解法1#xff1a;纵向对比-循环内套循环写法复杂度#xff1a;时间复杂度 O ( n ∗ m ) O(n*m) O(n∗m)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 解法2#xff1a;横向对比-两两对比#xff08;类似合并K个数组、合并K个链表#xff09;复… 目录 题目最长公共前缀解法1纵向对比-循环内套循环写法复杂度时间复杂度 O ( n ∗ m ) O(n*m) O(n∗m)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 解法2横向对比-两两对比类似合并K个数组、合并K个链表复杂度时间复杂度 O ( n ∗ m ) O(n*m) O(n∗m)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 题目压缩字符串解法1读写指针 次数统计 顺向思维处理次数输出复杂度时间复杂度 O ( n ) O(n) O(n)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 解法2读写起始三指针 逆向思维处理次数输出优化解法1复杂度时间复杂度 O ( n ) O(n) O(n)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 题目最长公共前缀 题目链接LeetCode-14. 最长公共前缀 解法1纵向对比-循环内套循环写法 以第一个子字符串为标准遍历其每个字符时内嵌遍历其余子字符串的对应字符是否一致。不一致时则返回当前字符之前的子字符串。 复杂度时间复杂度 O ( n ∗ m ) O(n*m) O(n∗m)、空间复杂度 O ( 1 ) O(1) O(1) 时间复杂度其中 n 是字符串平均长度m 是字符串数组的长度。 Go代码 func longestCommonPrefix(strs []string) string {length : len(strs)if length1 {return strs[0]}chlen : len(strs[0])for i:0; ichlen; i {// 用第一个子字符串的字符作为比较ch : strs[0][i]for j, v : range strs {if j 0 {continue}// 子字符串的长度比第一个短 或者 出现比较字符不同if i len(v) || v[i] ! ch {return string(strs[0][:i])}}}return strs[0] }解法2横向对比-两两对比类似合并K个数组、合并K个链表 先让前两个子字符串对比得到公共前缀再将此公共前缀作和下一个子字符串对比得到公共前缀如此循环到末尾返回最后的公共前缀即可优化遍历过程中如果公共前缀已经是空字符串了则可直接返回空字符串。 相比于解法1的优点将逻辑分解到两个函数中使代码更加模块化和可维护。 复杂度时间复杂度 O ( n ∗ m ) O(n*m) O(n∗m)、空间复杂度 O ( 1 ) O(1) O(1) 时间复杂度其中 n 是字符串平均长度m 是字符串数组的长度。 Go代码 func longestCommonPrefix(strs []string) string {length : len(strs)if length 1 {return strs[0]}str : strs[0]for i:1; ilength; i {str getCommonPrefix(str, strs[i])if str {return }}return str }func getCommonPrefix(str1, str2 string) string {length2 : len(str2)for i, v : range str1 {val : byte(v)if i length2 || val ! str2[i] {return string(str1[:i])}}return str1 }题目压缩字符串 题目链接LeetCode-443. 压缩字符串 解法1读写指针 次数统计 顺向思维处理次数输出 安排读写指针分别指向要写的位置和读的位置两指针首先指向第一个字符 如果是相同时最后一个元素的标记或者 读指针的字符和写指针不同时 统计总次数区分是否 1 大于1区分是否 10 小于10仅追加一个数字大于10不断除10得到可除次数和除10的最后余数 追加最后余数遍历可除次数追加数值0根据可除次数用总次数除了10的可除次数次方得到余数追加余数 如果是相同时最后一个元素的标记到这里直接返回写指针1即可更新对比字符为当前字符追加对比字符总次数还原为1读指针如果是最后一个元素到这里直接返回写指针1即可 相同时总次数 如果是最后一个元素添加标记这里只为加上其相同次数 复杂度时间复杂度 O ( n ) O(n) O(n)、空间复杂度 O ( 1 ) O(1) O(1) Go代码 func compress(chars []byte) int {length : len(chars)if length 0 || length 1 {return length}left, right : 0, 1 // left写 right读num : 1 //次数统计ch : chars[0]lastone : falsefor lastone || right length {if lastone || chars[right] ! chars[left] {// 追加长度if num 1 {// 要追加多个长度if num 10 {tmpnum : numcount10 : 1// 明确有几个10for tmpnum 10 {tmpnum tmpnum/10if tmpnum 10 {count10}}// 追加大于10的首个数字leftchars[left] byte(tmpnum 0) for i:1; icount10; i {// 补零leftchars[left] 0}// 追加大于等于10时的余数f10 : math.Pow(10, float64(count10))yu : num % int(f10)if yu 0 {leftchars[left] byte(yu 0)}} else { //只追加一个长度leftchars[left] byte(num 0)}}if lastone {return left1}ch chars[right]// 追加新字符leftchars[left] chnum 1right// 如果是最后一个元素if right length {return left1}} else {numrightif right length {lastone true}}}return left1 }解法2读写起始三指针 逆向思维处理次数输出优化解法1 优化点 无需用变量循环时累加统计总次数让一个起始指针指向当前统计字符的首位置当遍历到该字符末尾时尾索引-首索引1总次数。将正向计算追加10时的最后余数、可除10次数、余数改为追加依次除10得到的余数最后反转该段数字区间即可。读指针和下一个不同时处理当前此时包含了最后一个字符的场景。解法1中读指针和写指针不同时处理的逻辑就没法包含最后一个字符需要考虑最后一个字符时是和之前一致还是不同的情况。 复杂度时间复杂度 O ( n ) O(n) O(n)、空间复杂度 O ( 1 ) O(1) O(1) Go代码 func compress(chars []byte) int {length : len(chars)if length 0 || length 1 {return length}left, right, start : 0, 0, 0for ; right length; right {if right length-1 || chars[right] ! chars[right1] {chars[left] chars[right]leftcount : right-start1site : leftif count 1 {for count 0 {n : count%10chars[left] byte(n 0)leftcount count/10}reverse(chars, site, left-1)}start right1}}return left } func reverse(chars []byte, left int, right int) {if left right {return}for left right {chars[left], chars[right] chars[right], chars[left]leftright--} }
http://www.dnsts.com.cn/news/205774.html

相关文章:

  • 网站开发招聘需要恋家网邯郸房产
  • 建设网站的意义知乎网站建设厌倦
  • 做网站域名和空间费wordpress插件使用数量
  • 云主机安装网站网站换服务器对网站排名有影响吗
  • 济南富新网站建设个人工作室的税收政策
  • asp网站怎么连接数据库建一个自己用的网站要多少钱
  • 网站注册步骤环保局网站建设 自查报告
  • 公司想做个自己的网站怎么做wordpress文章tag标签
  • 免费建视频网站wordpress空间服务器
  • 做校服的网站企业网站内容如何更新
  • 舆情网站入口网页设计作品集模板
  • 网站流量 盈利短视频运营推广
  • 沈阳网站建设公司哪个好建设网站需要注意什么
  • 淘宝联盟手机网站建设淘客网站如何建设自己数据库
  • 仙桃哪里做网站wordpress和discuz关联
  • jsp网站开发之html入门知识建筑公司网站常用长尾词
  • 网站类推广软文怎么写做微网站哪家好
  • 观澜做网站技术培训ui设计
  • 课题网站建设验收总结报告化妆品网站制作
  • flash网站源码下载asp转换手机网站
  • 淘宝网站图片维护怎么做宁波网络公司哪家好
  • 关于网站建设的题目温州网站建设公司电话
  • 滁州市建设工程质量检测协会网站有域名如何做网站
  • 做网站的公司应该做收录嘛常州建设局建筑职称网站
  • 一般设计网站页面用什么软件家私网站栏目和功能需求策划
  • 快速的宝安网站建设建设网站的意义
  • 慈溪建设公司网站国家住房和城乡建设局网站首页
  • 网站开发的逻辑12123互联网服务平台
  • 如何加强网站内容建设黑龙江省领导名单
  • 如何搭建一个自己的网站广告设计软件下载