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

湖南十大传媒公司西安seo阳建

湖南十大传媒公司,西安seo阳建,苏州公司注册流程,做网站需不需要云数据库目录 前言 一、二分查找 1. 搜索插入位置 2. 搜索二维矩阵 3. 在排序数组中查找元素的第一个和最后一个位置 4. 搜索旋转排序数组 5. 寻找旋转排序数组中的最小值 6. 寻找两个正序数组的中位数 二、技巧 1. 只出现一次的数字 2. 多数元素 3. 颜色分类 4. 下一个排列 5. 寻找重复…

目录

前言

一、二分查找

1. 搜索插入位置

2. 搜索二维矩阵

3. 在排序数组中查找元素的第一个和最后一个位置

4. 搜索旋转排序数组

5. 寻找旋转排序数组中的最小值

6. 寻找两个正序数组的中位数

二、技巧

1. 只出现一次的数字

2. 多数元素

3. 颜色分类

4. 下一个排列

5. 寻找重复数


前言

一、二分查找:搜索插入位置,搜索二维矩阵,在排序数组中查找元素的第一个和最后一个位置,搜索旋转排序数组,寻找旋转排序数组中的最小值,寻找两个正序数组的中位数。

二、技巧:只出现一次的数字,多数元素,颜色分类,下一个排列,寻找重复数。


一、二分查找

1. 搜索插入位置

原题链接:35. 搜索插入位置 - 力扣(LeetCode)

# 解法(1)
class Solution(object):def searchInsert(self, nums, target):if target in nums:return nums.index(target)else:nums.insert(0, float('-inf'))nums.insert(len(nums), float('inf'))for i, n in enumerate(nums):if nums[i] < target and nums[i+1] > target:return i# 解法(2)
class Solution(object):def searchInsert(self, nums, target):for k,v in enumerate(nums):if target<=max(nums):if v<target:continuereturn kelse:return len(nums)
2. 搜索二维矩阵

原题链接:74. 搜索二维矩阵 - 力扣(LeetCode)

class Solution(object):def searchMatrix(self, matrix, target):matrix = sum(matrix, [])if target in matrix:return Truereturn False
3. 在排序数组中查找元素的第一个和最后一个位置

原题链接:34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode)

# 解法(1)
class Solution(object):def searchRange(self, nums, target):if target not in nums:return [-1, -1]else:left = nums.index(target)nums.sort(reverse=True)right = len(nums)- nums.index(target) - 1 return [left, right]# 解法(2)
class Solution(object):def searchRange(self, nums, target):lst = []for k,v in enumerate(nums):if v==target:lst.append(k)if not lst:lst = [-1,-1]return [min(lst), max(lst)]
4. 搜索旋转排序数组

原题链接:33. 搜索旋转排序数组 - 力扣(LeetCode)

class Solution(object):def search(self, nums, target):if target in nums:return nums.index(target)else:return -1
5. 寻找旋转排序数组中的最小值

原题链接:153. 寻找旋转排序数组中的最小值 - 力扣(LeetCode)

class Solution(object):def findMin(self, nums):return min(nums)
6. 寻找两个正序数组的中位数

原题链接:4. 寻找两个正序数组的中位数 - 力扣(LeetCode)

class Solution(object):def findMedianSortedArrays(self, nums1, nums2):num = nums1 + nums2num.sort()ln = len(num) if ln % 2 == 0:mid = (num[ln//2-1] + num[ln//2]) / 2.0else:mid = num[ln//2]return mid

二、技巧

1. 只出现一次的数字

原题链接:136. 只出现一次的数字 - 力扣(LeetCode)

# 解法(1)
class Solution(object):def singleNumber(self, nums):return sum(set(nums))*2 - sum(nums)# 解法(2)
class Solution(object):def singleNumber(self, nums):from collections import Countercnt = Counter(nums)for k, v in cnt.items():if v == 1:return k
2. 多数元素

原题链接:169. 多数元素 - 力扣(LeetCode)

# 解法(1)
class Solution(object):def majorityElement(self, nums):nums.sort()return nums[len(nums)//2]# 解法(2)
class Solution(object):def majorityElement(self, nums):from collections import Countercnt = Counter(nums)for k, v in cnt.most_common(1):return k
3. 颜色分类

原题链接:75. 颜色分类 - 力扣(LeetCode)

class Solution(object):def sortColors(self, nums):return nums.sort()   
4. 下一个排列

原题链接:

5. 寻找重复数

原题链接:287. 寻找重复数 - 力扣(LeetCode)

# 解法(1)
class Solution:def findDuplicate(self, nums: List[int]) -> int:from statistics import modereturn mode(nums)# 解法(2)
class Solution(object):def findDuplicate(self, nums):from collections import Countercnt = Counter(nums)for k, v in cnt.most_common(1):return k
http://www.dtcms.com/wzjs/62095.html

相关文章:

  • 网站如何做市场推广电商平台有哪些?
  • 临朐网站建设哪家好拼多多seo是什么意思
  • 国家税务总局网址入口官网河南seo优化
  • 网站程序的设计费用珠海网站seo
  • 邯郸网站建设代理快速学电脑培训班
  • 台市住房和城乡建设局网站希爱力的作用与功效
  • 青岛logo设计公司排名内蒙古seo优化
  • 深圳网站建设设计公司怎么用手机创建网站
  • 哪个公司做网站好优化大师手机版下载
  • 沧州网站制作公司百度人工优化
  • 费用网站建设百度站长平台网址
  • 河北疫情最新消息2023淘宝怎么优化关键词排名
  • 国外网站设计欣赏分析自助建站seo
  • 徐州最大网架公司应用商店优化
  • 可以赚钱做任务的网站联盟营销平台
  • 搭建网站原理南京网站设计公司
  • HS酒店网站建设找培训班一般在什么平台
  • 嘉瑞建设有限公司网站网站seo策划
  • 杭州便宜的手机网站建设网络推广 公司 200个网站
  • 泰州整站优化网络广告的概念
  • 深圳品牌网站制作平台西安网站优化推广方案
  • 只做网站不做app网站页面排名优化
  • web标准网站有哪些优点免费平台
  • 网站公司怎么做港港网app下载最新版
  • 企业网站建设问题优化设计方法
  • wordpress+视频站模版百度推广搜索排名
  • 做h游戏视频网站网络营销与策划实践报告
  • 烟台网站建设网站晚上网站推广软件免费版
  • 如何在虚拟机里面做网站seo数据是什么
  • 企业做增资 网站平台网上学电脑培训中心