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

建站标准中小企业建立网站最经济的方式

建站标准,中小企业建立网站最经济的方式,公司做两个网站,诏安县城乡规划建设局网站Python世界:力扣题704二分查找 任务背景思路分析代码实现测试套件本文小结 任务背景 问题来自力扣题目704:Binary Search,大意如下: Given an array of integers nums which is sorted in ascending order, and an integer target…

Python世界:力扣题704二分查找

    • 任务背景
    • 思路分析
    • 代码实现
    • 测试套件
    • 本文小结

任务背景


问题来自力扣题目704:Binary Search,大意如下:

Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1.

You must write an algorithm with O(log n) runtime complexity.

翻译下,需求是:对有序数组进行查找指定数字,若有返回索引,若无返回-1.

思路分析


重温下二分写法,思路很简单,发现值大的下移上界,发现值小的上移下界,直到上下界重合。

要注意的是无target时,mid的偏移问题。

代码实现


class Solution(object):def search(self, nums, target):""":type nums: List[int]:type target: int:rtype: int"""# range: [low, high)low = 0high = len(nums)while (low < high):mid = low + (high - low) // 2if nums[mid] < target:low = mid + 1elif nums[mid] > target:high = midelse:return mid# not foundreturn -1# test
nums = [-1, 0, 3, 5, 9, 12]
target = 9# nums = [-1,0,3,5,9,12]
# target = 2sol = Solution()
res = sol.search(nums, target)
print(res)

测试套件


# 导入单元测试
import unittest# 编写测试套
class TestSol(unittest.TestCase):# 不在数组中def test_special1(self):nums = [-1, 0, 3, 5, 9, 12]target = 2ret = -1sol = Solution()self.assertEqual(sol.search(nums, target), ret)# 下边界def test_special2(self):nums = [-1, 0, 3, 5, 9, 12]target = -1ret = 0sol = Solution()self.assertEqual(sol.search(nums, target), ret)# 上边界def test_special3(self):nums = [-1, 0, 3, 5, 9, 12]target = 12ret = 5sol = Solution()self.assertEqual(sol.search(nums, target), ret)def test_common1(self):nums = [-1, 0, 3, 5, 9, 12]target = 5ret = 3sol = Solution()self.assertEqual(sol.search(nums, target), ret)def test_common2(self):nums = [-1, 0, 3, 5, 9, 12]target = 9ret = 4sol = Solution()self.assertEqual(sol.search(nums, target), ret)# 含测试套版本主调
if __name__ == '__main__':print('start!')unittest.main() # 启动单元测试print('done!')

本文小结


二分核心:索引偏移存乎一心。

可进一步思考若有重复值时,如何找到最小重复索引或最大重复索引。

http://www.yayakq.cn/news/168787/

相关文章:

  • 网站建立的研究方案网站备案证明
  • 产品毕业设计网站建设mvc中手把手做网站
  • 可以发描文本的网站网站定制建设公司
  • 企业网站建设策划方案网站建设和源代码问题
  • 建设银行临江市支行网站深圳网站建设推广方案
  • 石家庄网络营销网站推广怎么自己创造网站
  • 水网站模板网站开发学什么数据库
  • 官方网站 优帮云做网站需要留什么条件
  • 长春网站设计团队网络科技有限公司属于什么行业
  • 外贸整合营销网站node.js 打开wordpress
  • 蓝色企业网站模板网络营销方式的特点
  • server 2008 iis 部署网站北京网页设计公司网站
  • wordpress动态水印昆明优化网站公司
  • 如何快速优化网站排名深圳晚报电子版
  • 营销型网站建设技术指标新津网站建设
  • 潮汕网站建设手机版的网站怎样做呢
  • 做内贸的什么网站效果好做美食教程的网站有哪些
  • 购物网站建设计划书windows 做网站服务器
  • 竞价网站移动端弄个app要花多少钱
  • 电子商城建设网站易语言网站做软件下载
  • 常州网站建设方案托管免费浏览的网站入口
  • 上海网站定制费用无限动力网站
  • 如何判断网站seo做的好坏广州专业seo公司
  • 仙居网站设计电子商务网站建设招标书
  • h5自助建站系统企业所得税优惠政策最新2022文件
  • 专业的网站设计制作淘宝网页设计模板图片
  • 网站怎么做短信ip限定星锐网站建设
  • 做传销网站的程序员犯法吗专业建站公司的业务内容
  • 南京网站制作有限公司营销网点号是什么意思
  • gta5网站建设网络广告营销特性