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

最优做网站/网课培训机构排名前十

最优做网站,网课培训机构排名前十,服饰技术支持 东莞网站建设,安阳网站制作 网络服务记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录5/9 942. 增减字符串匹配5/10 1728. 猫和老鼠 II5/11 449. 序列化和反序列化二叉搜索树5/12 944. 删列造序5/13 面试题 01.05. 一次编辑5/14 691. 贴纸拼词5/15 812. 最大三…

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步


目录

      • 5/9 942. 增减字符串匹配
      • 5/10 1728. 猫和老鼠 II
      • 5/11 449. 序列化和反序列化二叉搜索树
      • 5/12 944. 删列造序
      • 5/13 面试题 01.05. 一次编辑
      • 5/14 691. 贴纸拼词
      • 5/15 812. 最大三角形面积


5/9 942. 增减字符串匹配

如果s[i]=I 那么假设perm[i]=最小值 min(nums)
此时无论i+1取何值 必定满足perm[i]<perm[i+1]
同理如果s[i]=D perm[i] = max(nums)

def diStringMatch(s):""":type s: str:rtype: List[int]"""n = len(s)l = [0]*(n+1)minv = 0maxv = nfor loc,c in enumerate(s):if c=="I":l[loc] = minvminv+=1else:l[loc] = maxvmaxv-=1l[n] = minvreturn l

5/10 1728. 猫和老鼠 II

没想出来
缓存lru_cache
参考https://leetcode.cn/problems/cat-and-mouse-ii/solution/python-ji-xiao-ji-da-bo-yi-by-himymben-ukbk/

def canMouseWin(grid, catJump, mouseJump):""":type grid: List[str]:type catJump: int:type mouseJump: int:rtype: bool"""move = [(0,1),(0,-1),(-1,0),(1,0)]n,m = len(grid),len(grid[0])for i in range(n):for j in range(m):if grid[i][j]=="C":cat = (i,j)elif grid[i][j] =="F":food = (i,j)elif grid[i][j] == "M":mouse = (i,j)@lru_cache(None)def dfs(mloc,cloc,i):if mloc==cloc or cloc==food or i>128:return Falseif mloc == food:return Truepos,jump = mloc,mouseJumpcat_turn = Falseif i%2:pos,jump = cloc,catJumpcat_turn = Truefor dx,dy in move:for step in range(jump+1):nx,ny = pos[0]+dx*step,pos[1]+dy*stepif nx<0 or ny<0 or nx>=n or ny>=m or grid[nx][ny]=="#":breakif not cat_turn and dfs((nx,ny),cloc,i+1):return Trueelif cat_turn and not dfs(mloc,(nx,ny),i+1):return Falsereturn cat_turnreturn dfs(mouse,cat,0)

5/11 449. 序列化和反序列化二叉搜索树

后序遍历

class TreeNode:def __init__(self, x):self.val = xself.left = Noneself.right = Noneclass Codec:def serialize(self, root: TreeNode) -> str:"""Encodes a tree to a single string."""ans = []def find(node):if node:find(node.left)find(node.right)ans.append(node.val)find(root)return " ".join(map(str,ans))def deserialize(self, data: str) -> TreeNode:"""Decodes your encoded data to tree."""l = list(map(int,data.split()))def build(minv,maxv):if l==[] or l[-1]<minv or l[-1]>maxv:return Noneval = l.pop()node = TreeNode(val)node.right = build(val,maxv)node.left = build(minv,val)return nodereturn build(-1,10001)

5/12 944. 删列造序

依次比较 每个字符串有n个字符
从第1位开始 比较每一个字符串该位置是否升序

def minDeletionSize(strs):""":type strs: List[str]:rtype: int"""n = len(strs[0])ans = 0if len(strs)==0:return ansfor i in range(n):cur = strs[0][i]for c in strs[1:]:if c[i]<cur:ans +=1breakcur = c[i]return ans

5/13 面试题 01.05. 一次编辑

两个字符串长度差不能大于1
如果长度相同 记录不同字符的次数 不能大于1
如果长度不同 从头比较 遇到不同的 长字符串跳过 继续比较

def oneEditAway(first, second):""":type first: str:type second: str:rtype: bool"""if first==second:return Truen = len(first)m = len(second)if abs(n-m)>1:return Falseif n>m:first,second=second,firstn,m=m,nif n<m:i,j=0,0check = Truewhile j<m:if i==n:return Trueif first[i]!=second[j]:if check:j+=1check = Falseelse:return Falseelse:i+=1j+=1return Trueelse:diff=[]for i in range(n):if first[i]!=second[i]:if len(diff)==1:return Falsediff.append(i)if len(diff)<2:return Truereturn False

5/14 691. 贴纸拼词

target最多15位 用一个15位的二进制mask用来标识target的子序列
首先判断target是否包含sticker中没有的字母 如果有则返回-1
mem[mask]记录以判断过得子序列最优解
dfs判断mask的最优解
遍历每一个sticker left为mask去除sticker内字符后的子序列

def minStickers(stickers, target):""":type stickers: List[str]:type target: str:rtype: int"""from collections import defaultdictn = len(target)has = 0for s in stickers:for c in s:has |= 1<<(ord(c)-ord("a"))for c in target:if has&(1<<(ord(c)-ord("a")))==0:return -1mem = {}mem[0] = 0def find(mask):if mask in mem:return mem[mask]ans = n+1for s in stickers:left = maskm = defaultdict(int)for c in s:m[c]+=1for i,c in enumerate(target):if mask>>i &1 and m[c]:m[c]-=1left ^= 1<<iif left<mask:ans = min(ans,find(left)+1)mem[mask] = ansreturn ansans = find((1<<n)-1)return ans

5/15 812. 最大三角形面积

海伦公式 三角形三条边a,b,c
面积= 根号(p(p-a)(p-b)(p-c)) p=(a+b+c)/2
点的个数小于等于50 三重循环遍历
小数有误差判断一下 在同一条直线 tmp<0情况


def largestTriangleArea(points):""":type points: List[List[int]]:rtype: float"""import mathdef findlen(a,b):return math.sqrt(math.pow(a[0]-b[0],2)+math.pow(a[1]-b[1],2))cur = 0n = len(points)for i in range(n):for j in range(i+1,n):for k in range(j+1,n):a = findlen(points[i],points[j])b = findlen(points[i],points[k])c = findlen(points[k],points[j])p = (a+b+c)*0.5tmp = p*(p-a)*(p-b)*(p-c)if tmp<0:continues = (p*(p-a)*(p-b)*(p-c))**0.5cur = max(cur,s)return cur

http://www.lbrq.cn/news/1589221.html

相关文章:

  • 一学一做动漫视频网站/网络推广营销方法
  • 网站建设销售前景/站长工具是干嘛的
  • wordpress企业建站教程/搜索词排行榜
  • 学校建设网站费用申请报告/企业网站的作用和意义
  • 网站建设标准流程及外包注意事项/aso优化的主要内容
  • 网站建设方案书模板/网络营销公司注册找哪家
  • 开发一个交友app多少钱/小熊猫seo博客
  • 亿唐网不做网站做品牌/网站流量统计平台
  • wordpress首页图片导航分类/企业seo
  • 使用jquery的网站/app渠道推广
  • 佛山优化网站/seo教程自学
  • 杭州网站建设代理商/seo网站排名
  • 宁波做360网站推广/站长之家端口扫描
  • 做网站需要交印花税/现在推广引流什么平台比较火
  • 提供网站设计服务商/上海专业seo排名优化
  • 四川宜宾市网站建设公司/网站注册步骤
  • 本科生做网站编辑/设计师必备的6个网站
  • 衡水高端网站建设/抖音推广怎么做
  • 上海专业网站建设哪家好/优化营商环境的意义
  • 网站建设路由设置/国外免费ip地址
  • 做公司的网站怎么上线/加快百度收录的方法
  • 重庆企业品牌网站建设/广告公司主要做什么
  • 创意设计报告模板/百度seo教程视频
  • 国际贸易新闻最新消息/竞价托管优化公司
  • hot插件 wordpress/seo培训中心
  • 石湾建网站/凡科建站小程序
  • 哈尔滨网站排名公司/apple私人免费网站怎么下载
  • 网站打开太慢/seo模拟点击工具
  • 泰州网站开发公司/竞价托管运营哪家好
  • 安徽合肥做网站的公司有哪些/百度人工服务24小时
  • MCU-基于TC397的双BootLoader设计方案
  • localforage的数据仓库、实例、storeName和name的概念和区别
  • 安卓10.0系统修改定制化____修改系统固件 实现刷写完成 开机默认关闭桌面搜索框
  • Self-RAG:基于自我反思的检索增强生成框架技术解析
  • AI巨模型对决2025:五强争霸,谁能称王?
  • 大数据存储域——HDFS存储系统