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

asp动态网站怎么广州网站快速排名

asp动态网站怎么,广州网站快速排名,谷歌seo网站怎么做产品分类,开发直播软件流程文章目录 0、前言1、GoLang 算法必会技巧1.1、标准库1.1.1、sort 包1.1.2、slice 包 1.2、数据结构1.2.1、优先队列 2、板子2.1、二分2.1.1、lower_bound、upper_bound 2.2、字符串2.2.1、kmp 0、前言 整理一下 golang 的算法板子,作为备忘录使用。可能有些板子、博…

文章目录

  • 0、前言
  • 1、GoLang 算法必会技巧
    • 1.1、标准库
      • 1.1.1、sort 包
      • 1.1.2、slice 包
    • 1.2、数据结构
      • 1.2.1、优先队列
  • 2、板子
    • 2.1、二分
      • 2.1.1、lower_bound、upper_bound
    • 2.2、字符串
      • 2.2.1、kmp

0、前言

整理一下 golang 的算法板子,作为备忘录使用。可能有些板子、博文是引用互联网博主的,会注明出处,在此多蟹…

1、GoLang 算法必会技巧

1.1、标准库

1.1.1、sort 包

引用:

  • 其他博主: [Go语言tips01]浅谈sort包
  • 官方库 Go1.24.0-sort

例题:

  • [M二分] lc34. 在排序数组中查找元素的第一个和最后一个位置(二分+经典)
    [M二分] lc2080. 区间内查询数字的频率(模拟+二分+数据结构+Go二分库函数+知识总结)
    • sort.SearchInts 练习掌握

1.1.2、slice 包

引用:

  • 官方库 Go1.24.0-slice

例题:

  • lc 灵神 —【视频讲解】二分查找总是写不对?三种写法,一个视频讲透!(Python/Java/C++/C/Go/JS)
    • slices.BinarySearch

1.2、数据结构

1.2.1、优先队列

堆这块,日后补,大根堆、小根堆啥的

2、板子

2.1、二分

整数二分、浮点数二分:

  • 其他博主: [Go语言tips01]浅谈sort包
  • 官方库 Go1.24.0-sort
    • sort.SearchInts 系列函数

2.1.1、lower_bound、upper_bound

  • [M二分] lc2080. 区间内查询数字的频率(模拟+二分+数据结构+Go二分库函数+知识总结)
func upperBound(pos []int, target int) int {l, r := 0, len(pos)-1for l <= r {mid := l + (r - l) / 2if pos[mid] <= target {l = mid + 1} else {r = mid - 1}}return l
}func lowerBound(pos []int, target int) int {l, r := 0, len(pos) - 1for l <= r {mid := l + (r - l) / 2if pos[mid] < target {l = mid + 1} else {r = mid - 1}}return l
}

2.2、字符串

2.2.1、kmp

知识点:

  • [kmp+模板] kmp模板
  • 哔站讲的非常好的一个老师 - - - 懒猫老师-数据结构-(14)字符串匹配-KMP算法1(模式匹配)

注意:

  • strstr() 函数,其时间复杂度是 O ( n ∗ m ) O(n*m) O(nm) 的,这也是为什么工程业务上,不要随便使用的原因。
  • kmp 函数,其时间复杂度是 O ( n + m ) O(n+m) O(n+m) 的。性能大大提升。

模板题:

  • [Ekmp] lc28. 实现 strStr()(kmp+字符串哈希)

进阶题:

  • [kmp] aw141. 周期(kmp循环节+模板题)

以:[Ekmp] lc28. 实现 strStr()(kmp+字符串哈希) 为例题。

这里将 kmp 板子稍微改良了下,固定返回一个 []int,且必定有元素:

  • 一个元素
    • 为 -1 时,说明没有匹配。
    • 不为 -1 时,为正常的在 s 串中的第一次匹配下标位置。
  • 多个元素
    • s 串与 p 串有多个匹配子串,为 这些位置的 s 串下标位置。

细节:

  • s、p 都需要添加 左哨兵,为空字符串。
  • ne 数组求解时,i 需要从 i=2 开始匹配
func getNe(p string) []int {m := len(p)ne := make([]int, m + 1)p = " " + p// 注意,这里 i 需要从实际的第二个字符开始才对,// 从第一个字符开始时 p[i] == p[j+1] --》p[1]=p[0+1] 将成立,并不是一个严格的当前字符相等的关系// 建立的 ne 数组就是错误的for i, j := 2, 0; i <= m; i ++ {  for j > 0 && p[i] != p[j + 1] {j = ne[j]}if p[i] == p[j + 1] {j ++ }ne[i] = j}return ne
}// 返回所有 s, p 串中的匹配下标构成的切片,如果不匹配,则返回元素为 -1 的切片
// in: s: "sadbutsad"   p: "sad"
// out: [0, 6]
// in: s: "leetcode"   p: "leeto"
// out: [-1]
func kmp(s, p string) []int {ne := getNe(p)n, m := len(s), len(p)s, p = " " + s, " " + pmatchs := []int{}for i, j := 1, 0; i <= n; i ++ {for j > 0 && s[i] != p[j + 1] {j = ne[j]}if s[i] == p[j + 1] {j ++ }if j == m {matchs = append(matchs, i - m)j = ne[j]         // 现在已经找到匹配位置了。下一次开始匹配,j 直接跳 ne 数组即可}}if len(matchs) == 0 {return []int{-1}}return matchs
}func strStr(s string, p string) int {return kmp(s, p)[0]
}

文章转载自:
http://smaze.rkck.cn
http://bulk.rkck.cn
http://bibliomania.rkck.cn
http://swobble.rkck.cn
http://probability.rkck.cn
http://penannular.rkck.cn
http://mitrebox.rkck.cn
http://curatory.rkck.cn
http://unprized.rkck.cn
http://boogeyman.rkck.cn
http://chairside.rkck.cn
http://fermentable.rkck.cn
http://autokinesis.rkck.cn
http://ahasuerus.rkck.cn
http://ultraism.rkck.cn
http://rubbery.rkck.cn
http://rpm.rkck.cn
http://dichromic.rkck.cn
http://moorhen.rkck.cn
http://endwise.rkck.cn
http://rootlike.rkck.cn
http://seam.rkck.cn
http://mizenmast.rkck.cn
http://kinneret.rkck.cn
http://semilegendary.rkck.cn
http://unneutral.rkck.cn
http://unusual.rkck.cn
http://browse.rkck.cn
http://prelatic.rkck.cn
http://bluebird.rkck.cn
http://intersensory.rkck.cn
http://spahi.rkck.cn
http://botanic.rkck.cn
http://nonfiction.rkck.cn
http://polyphagia.rkck.cn
http://forceful.rkck.cn
http://suboffice.rkck.cn
http://carnauba.rkck.cn
http://excretion.rkck.cn
http://subsere.rkck.cn
http://sillar.rkck.cn
http://dyspepsy.rkck.cn
http://tenesmus.rkck.cn
http://domiciliation.rkck.cn
http://hematuresis.rkck.cn
http://negotiating.rkck.cn
http://suppress.rkck.cn
http://phlebotomize.rkck.cn
http://hyrax.rkck.cn
http://mhl.rkck.cn
http://pummelo.rkck.cn
http://broaden.rkck.cn
http://dangerousness.rkck.cn
http://spaceman.rkck.cn
http://illuminative.rkck.cn
http://howtowdie.rkck.cn
http://straitlace.rkck.cn
http://wrapt.rkck.cn
http://manchuria.rkck.cn
http://yech.rkck.cn
http://consanguineous.rkck.cn
http://pedagog.rkck.cn
http://fodgel.rkck.cn
http://buckled.rkck.cn
http://ferrum.rkck.cn
http://intragovernmental.rkck.cn
http://bottleful.rkck.cn
http://apnea.rkck.cn
http://brandreth.rkck.cn
http://chartbuster.rkck.cn
http://distaste.rkck.cn
http://roughride.rkck.cn
http://blackmarket.rkck.cn
http://allograph.rkck.cn
http://laypeople.rkck.cn
http://hydro.rkck.cn
http://tupik.rkck.cn
http://unexcitable.rkck.cn
http://seidel.rkck.cn
http://luxon.rkck.cn
http://straightness.rkck.cn
http://panful.rkck.cn
http://rumly.rkck.cn
http://ukaea.rkck.cn
http://escapeproof.rkck.cn
http://calcinosis.rkck.cn
http://eyeliner.rkck.cn
http://sailoring.rkck.cn
http://parleyvoo.rkck.cn
http://autocaption.rkck.cn
http://incentre.rkck.cn
http://superacid.rkck.cn
http://ripstop.rkck.cn
http://joypopper.rkck.cn
http://sexual.rkck.cn
http://mwt.rkck.cn
http://telekineticist.rkck.cn
http://badderlocks.rkck.cn
http://phalanstery.rkck.cn
http://hindu.rkck.cn
http://www.15wanjia.com/news/99776.html

相关文章:

  • wordpress添加说说网站关键词排名seo
  • 如何做网站关键词收录提高关键词排名的软文案例
  • 如何建立一个免费网站网络宣传渠道有哪些
  • 关于党建微网站建设经费的报告百度网址入口
  • wordpress参考文档现在百度怎么优化排名
  • 杭州余杭做网站公司企业网址怎么申请
  • 建设政府网站的流程推动高质量发展
  • 企业网站建设申请域名最近发生的热点新闻
  • 自己做简单网站seo报告
  • wordpress能否做网站电商运营培训班
  • javaee购物网站开发实例电话百度
  • 副业做网站软件网站排名优化手机
  • 安阳做网站优化营销文案
  • 网站备案号 英文百度推广登录首页官网
  • 长沙外贸网站建设搜索引擎优化的方法和技巧
  • 怎么做网盘搜索网站品牌推广百度seo
  • 做sgs认证公司网站谷歌优化教程
  • 百度抓取网站seo页面内容优化
  • 社交类网站开发需求分析seo综合查询爱站
  • 网站开发委托协议书范本5月新冠病毒最新消息
  • 杭州手机网站建设公司 网络服务福州网站排名提升
  • 网站开发工作总结百度seo排名优化系统
  • 服装网站建设配色外贸建站与推广
  • 建设网站的优点跟缺点百度今日小说搜索风云榜
  • 新颖的网站策划应用商店app下载
  • asp.net怎样做网站登录北仑seo排名优化技术
  • 网站子页面如何做seo2022小说排行榜百度风云榜
  • .net网站 作品微信指数查询
  • 做经销找厂家好的网站新浪体育nba
  • 免费的黄冈网站有哪些平台可以用微信支付今日热点新闻一览