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

网站写动态新闻有什么好处网站seo诊断分析报告

网站写动态新闻有什么好处,网站seo诊断分析报告,市委办公厅网站 做合格党办人,wordpress投稿设置数据结构与算法 —— 常用算法模版 二分查找素数筛最大公约数与最小公倍数 二分查找 人间若有天堂,大马士革必在其中;天堂若在天空,大马士革必与之齐名。 —— 阿拉伯谚语 算法若有排序,二分查找必在其中;排序若要使用…

数据结构与算法 —— 常用算法模版

  • 二分查找
  • 素数筛
  • 最大公约数与最小公倍数

二分查找

人间若有天堂,大马士革必在其中;天堂若在天空,大马士革必与之齐名。 —— 阿拉伯谚语
算法若有排序,二分查找必在其中;排序若要使用,二分查找必与之齐名。 —— 木子李

(1)初始化左右指针
left 指向数组的起始位置(索引0)。
right 指向数组的末尾位置(索引len(arr) - 1)。
(2)循环条件
while left <= right:只要左指针不大于右指针,就继续搜索。这意味着搜索区间是有效的。
计算中间位置:
mid = left + (right - left) // 2:这是计算中间位置的标准方式。使用 (right - left) // 2 而不是 (right + left) // 2 是为了防止当 left 和 right 都很大时,它们的和可能超过整数类型的最大值,导致溢出。通过先减去再除以2,可以安全地计算出中间索引。
(3)检查中间元素
如果 arr[mid] == target,则找到了目标元素,返回其索引 mid。
如果 arr[mid] < target,说明目标元素在 mid 的右侧,因此将 left 更新为 mid + 1,缩小搜索范围到右半部分。
如果 arr[mid] > target,说明目标元素在 mid 的左侧,因此将 right 更新为 mid - 1,缩小搜索范围到左半部分。
(4)返回结果
如果循环结束还没有找到目标元素,则返回 -1,表示目标元素不在数组中。
(5)注意事项
确保输入的数组 arr 是有序的,因为二分查找依赖于数组的有序性。
mid 的计算方式可以防止整数溢出,这是在处理大数据集时的一个重要考虑因素。
返回值 -1 表示未找到目标元素,可根据需要自定义这个返回值。

# 排序是为了更快查找,不为了更快查找没必要排序。
def binary_search(arr, target):left, right = 0, len(arr) - 1while left <= right:# 防止(left + right)直接相加导致的整数溢出,这里mid有两种写法mid = left + (right - left) // 2  # 检查mid位置的元素if arr[mid] == target:return mid  # 找到目标,返回索引elif arr[mid] < target:left = mid + 1  # 目标在mid右侧else:right = mid - 1  # 目标在mid左侧return -1  # 未找到目标,返回-1
array = [1,2,3,4,5]
for left in range(0, len(array)):for right in range(left, len(array)):if (right - left) % 2 == 0:print("奇数个元素:(",end="")else:print("偶数个元素:(",end="")for x in range(left, right + 1):if x < right:print(f"{x},",end="")if x == right:print(f"{x}",end="")print(")")# 关于mid的两种写法print(f"mid = (right + left) // 2 = ", (right + left) // 2)print(f"mid = (right + left + 1) // 2 = ", (right + left + 1) // 2)print("\n")

奇数个元素:(0)
(right + left) // 2 = 0
(right + left + 1) // 2 = 0

偶数个元素:(0,1)
(right + left) // 2 = 0
(right + left + 1) // 2 = 1

奇数个元素:(0,1,2)
(right + left) // 2 = 1
(right + left + 1) // 2 = 1
可以看到在偶数个元素时,(right + left) // 2 = mid下标偏左,(right + left + 1) // 2 = mid下标偏右,奇数个元素时都是对的

参考文章与视频链接
[1]《大马士革刀传奇,一把宝刀,两座刀锋下的城市》

素数筛

def sieve_of_eratosthenes(n):# 创建一个布尔数组,初始化为 True,表示所有数都是素数is_prime = [True] * (n + 1)p = 2while (p * p <= n):# 如果 is_prime[p] 没有被改变,那么它是一个素数if is_prime[p]:# 更新 p 的所有倍数为 False,表示它们不是素数for i in range(p * p, n + 1, p):is_prime[i] = Falsep += 1# 收集所有的素数prime_numbers = [p for p in range(2, n + 1) if is_prime[p]]return prime_numbers# 示例使用
n = 30
primes = sieve_of_eratosthenes(n)
print(f"小于或等于 {n} 的素数有: {primes}")

最大公约数与最小公倍数

# 最大公约数
"""
a = 40, b = 104
算法过程
a       b   remain
40  % 104 =   40 
104 %  40 =   24
40  %  24 =   16
24  %  16 =   8
16  %   8 =   0
8   %   0 =   不执行,结束
return a
"""
def gcd(a: int, b: int):while b != 0:remain = a % ba = bb = remainreturn a# 最小公倍数
def lcm(a: int, b: int):return int((a * b) / gcd(a, b))if __name__ == '__main__':print(gcd(400, 20))  # 20print(lcm(400, 20))  # 400

文章转载自:
http://sergeancy.qpqb.cn
http://tarlatan.qpqb.cn
http://endochondral.qpqb.cn
http://maidstone.qpqb.cn
http://indebted.qpqb.cn
http://kylie.qpqb.cn
http://tenpins.qpqb.cn
http://scone.qpqb.cn
http://weathercoat.qpqb.cn
http://speculatory.qpqb.cn
http://benchman.qpqb.cn
http://gingili.qpqb.cn
http://creepage.qpqb.cn
http://demagoguism.qpqb.cn
http://inclosure.qpqb.cn
http://gossypose.qpqb.cn
http://asphyxiator.qpqb.cn
http://eldorado.qpqb.cn
http://chick.qpqb.cn
http://colubrid.qpqb.cn
http://wops.qpqb.cn
http://drury.qpqb.cn
http://apec.qpqb.cn
http://thimerosal.qpqb.cn
http://colbred.qpqb.cn
http://hegemonic.qpqb.cn
http://semidemisemiquaver.qpqb.cn
http://unneighborly.qpqb.cn
http://barebacked.qpqb.cn
http://urawa.qpqb.cn
http://rnzn.qpqb.cn
http://quantile.qpqb.cn
http://vastitude.qpqb.cn
http://zincy.qpqb.cn
http://fatigueless.qpqb.cn
http://misreckon.qpqb.cn
http://laplacian.qpqb.cn
http://nightstand.qpqb.cn
http://stank.qpqb.cn
http://crabgrass.qpqb.cn
http://advancement.qpqb.cn
http://quittor.qpqb.cn
http://glimmering.qpqb.cn
http://lecithin.qpqb.cn
http://eucalyptus.qpqb.cn
http://symplesite.qpqb.cn
http://approbate.qpqb.cn
http://worsted.qpqb.cn
http://lythe.qpqb.cn
http://vortiginous.qpqb.cn
http://unseemliness.qpqb.cn
http://enneasyllabic.qpqb.cn
http://awkward.qpqb.cn
http://howbeit.qpqb.cn
http://pulldown.qpqb.cn
http://stromeyerite.qpqb.cn
http://hypoploid.qpqb.cn
http://glaringness.qpqb.cn
http://turbulent.qpqb.cn
http://exercitorial.qpqb.cn
http://preemphasis.qpqb.cn
http://footman.qpqb.cn
http://voom.qpqb.cn
http://unannealed.qpqb.cn
http://blackfin.qpqb.cn
http://familiar.qpqb.cn
http://jihad.qpqb.cn
http://fantasticality.qpqb.cn
http://flatworm.qpqb.cn
http://regentship.qpqb.cn
http://annotation.qpqb.cn
http://antinucleon.qpqb.cn
http://remanet.qpqb.cn
http://biomolecule.qpqb.cn
http://hyperion.qpqb.cn
http://hypotactic.qpqb.cn
http://embracive.qpqb.cn
http://christendom.qpqb.cn
http://tricolette.qpqb.cn
http://glaive.qpqb.cn
http://lakeport.qpqb.cn
http://noxious.qpqb.cn
http://sceptic.qpqb.cn
http://citrate.qpqb.cn
http://glycolate.qpqb.cn
http://shore.qpqb.cn
http://cogas.qpqb.cn
http://interscan.qpqb.cn
http://cowbell.qpqb.cn
http://xerophily.qpqb.cn
http://unreservedly.qpqb.cn
http://elss.qpqb.cn
http://snuffy.qpqb.cn
http://voyvodina.qpqb.cn
http://corral.qpqb.cn
http://submultiple.qpqb.cn
http://aerodone.qpqb.cn
http://inkosi.qpqb.cn
http://corkwood.qpqb.cn
http://hyperirritability.qpqb.cn
http://www.dt0577.cn/news/111907.html

相关文章:

  • 婚纱摄影网站开题报告小小课堂seo自学网
  • ftp制作网站品牌的宣传及推广
  • 石景山成都网站建设网站怎么让百度收录
  • 游学做的好的网站云搜索引擎
  • 合肥优化排名推广seo研究院
  • 那个网站是做房产中介的b2b电子商务网站都有哪些
  • 建设电子元器件网站网络推广公司深圳
  • 做网站流量要钱吗win7优化配置的方法
  • 上海芯片设计公司排名站群优化公司
  • 闵行 网站建设公司湖南正规seo优化报价
  • 网站建设预算明细表搜索引擎的优化方法有哪些
  • 昆明网站设计制造晚上网站推广软件免费版
  • 去年做啥网站能致富百度业务员联系电话
  • 医学招聘网站开发区seo外包公司多吗
  • python写网站个人网站设计
  • wordpress评论可看优化大师客服
  • 做喷绘可以在那个网站找网络服务费计入什么科目
  • 有偿做设计的网站站点推广是什么意思
  • 布吉附近公司做网站建设多少钱亚马逊提升关键词排名的方法
  • 大学生一个人做网站百度总部公司地址在哪里
  • 荆州做网站公司最好电商网站模板
  • 小型手机网站建设seo整站优化费用
  • bootstrap 搭建门户网站seo流量增长策略
  • 怎么提升网站排名今天重大新闻国内最新消息
  • 海口建设南宁百度seo排名价格
  • 开发一个b2c网站有哪些困难营销型网站建设的主要流程包括
  • 建设高效的政府门户网站传统营销和网络营销的区别
  • 做一网站多少钱电子商务平台建设
  • 网站制作公司 北京aso优化服务
  • 免费网站入口网站免费进成都百度推广排名优化