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

北京北京网站建设建立旅游公司网站多钱

北京北京网站建设,建立旅游公司网站多钱,wordpress主题 幻灯,app公司是做什么的记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 5/12 2094. 找出 3 位偶数5/13 3335. 字符串转换后的长度 I5/14 3337. 字符串转换后的长度 II5/15 2900. 最长相邻不相等子序列 I5/16 2901. 最长相邻不相等子序列 II5/17 …

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


目录

      • 5/12 2094. 找出 3 位偶数
      • 5/13 3335. 字符串转换后的长度 I
      • 5/14 3337. 字符串转换后的长度 II
      • 5/15 2900. 最长相邻不相等子序列 I
      • 5/16 2901. 最长相邻不相等子序列 II
      • 5/17 75. 颜色分类
      • 5/18 1931. 用三种不同颜色为网格涂色


5/12 2094. 找出 3 位偶数

统计每个数字个数

def findEvenNumbers(digits):""":type digits: List[int]:rtype: List[int]"""nums=[0]*10for num in digits:nums[num]+=1ans=[]for a in range(1,10):if nums[a]>0:nums[a]-=1for b in range(10):if nums[b]>0:nums[b]-=1for c in range(0,10,2):if nums[c]>0:ans.append(100*a+10*b+c)nums[b]+=1nums[a]+=1return ans

5/13 3335. 字符串转换后的长度 I

统计各个字符出现个数0~25
每一次将个数往右移动 如果在最后则将0,1 +1

def lengthAfterTransformations(s, t):""":type s: str:type t: int:rtype: int"""MOD=10**9+7cnt=[0]*26for c in s:cnt[ord(c)-ord("a")]+=1for _ in range(t):nxt=[0]*26nxt[0]=cnt[25]nxt[1]=cnt[25]+cnt[0]for i in range(2,26):nxt[i]=cnt[i-1]cnt=nxtans=sum(cnt)%MODreturn ans

5/14 3337. 字符串转换后的长度 II

矩阵快速幂

def lengthAfterTransformations(s, t, nums):""":type s: str:type t: int:type nums: List[int]:rtype: int"""from collections import Counter MOD=10**9+7def mul(a,b):return [[sum(x*y for x,y in zip(row,col))%MOD for col in zip(*b)]for row in a]def pow_mul(a,n,f):ans = fwhile n:if n&1:ans=mul(a,ans)a=mul(a,a)n>>=1return ansm=[[0]*26 for _ in range(26)]for i,c in enumerate(nums):for j in range(i+1,i+c+1):m[i][j%26]=1f=[[1] for _ in range(26)]mt=pow_mul(m, t, f)ans=0for c,cnt in Counter(s).items():ans+=mt[ord(c)-ord('a')][0]*cntreturn ans%MOD

5/15 2900. 最长相邻不相等子序列 I

将groups看作是一个01字符串 相同的为一部分
即从各个部分中取一个即可
001011 取0101

def getLongestSubsequence(words, groups):""":type words: List[str]:type groups: List[int]:rtype: List[str]"""n=len(groups)ans=[]for i,c in enumerate(groups):if i==n-1 or c!=groups[i+1]:ans.append(words[i])return ans

5/16 2901. 最长相邻不相等子序列 II

dp[i]代表i结尾最长子序列长度
j从0~i-1 找到最大的dp[i]=max(dp[i],dp[j]+1)
ham(a,b)用来求a,b的汉明距离
pre[i]代表当前dp[i]的前一个位置 方便最后倒序得到结果

def getWordsInLongestSubsequence(words, groups):""":type words: List[str]:type groups: List[int]:rtype: List[str]"""n=len(groups)dp=[1]*npre=[-1]*nmaxind=0def ham(a,b):if len(a)!=len(b):return Falsediff=0for i in range(len(a)):if a[i]!=b[i]:diff+=1if diff>1:return Falsereturn diff==1for i in range(1,n):for j in range(i):if ham(words[i],words[j]) and dp[j]+1>dp[i] and groups[i]!=groups[j]:dp[i]=dp[j]+1pre[i]=jif dp[i]>dp[maxind]:maxind=ians=[]i=maxindwhile i>=0:ans = [words[i]]+ansi=pre[i]return ans

5/17 75. 颜色分类

设定三个坐标i,j,k
i用来记录可与0调换的位置 j用来记录可与2调换的位置 k用来扫描整个list
当k扫描到2时 将这个2与j上的调换 将2放到后面 j往前移 (此时不知道被调过来的数 需要重新扫描 所以k不需要往后移)
当k扫描到0时 将这个0与i上的调换 将0放到后面 i,k往后移 (此时调过来的数是在前面已经扫描过的 所以k往后移)
当k扫描到1时 不做处理 k往后移


def sortColors(nums):""":type nums: List[int]:rtype: void Do not return anything, modify nums in-place instead."""i = 0k = 0j = len(nums)-1while k<=j:if nums[k]==2:nums[k],nums[j] = nums[j],nums[k]j-=1elif nums[k]==0:nums[i],nums[k] = nums[k],nums[i]k+=1i+=1else:k+=1

5/18 1931. 用三种不同颜色为网格涂色

用m位三进制数表示三种颜色的可能
在valid中存储没有相邻同色的三进制数
nxt[i]记录第i种排列后可以接的其他排列
dfs(i,j) 第i行选择第j种排列的方案数量 记忆化搜索

def colorTheGrid(m, n):""":type m: int:type n: int:rtype: int"""pow3=[3**i for i in range(m)]valid=[]for color in range(3**m):for i in range(1,m):if color//pow3[i]%3==color//pow3[i-1]%3:breakelse:valid.append(color)nv=len(valid)nxt=[[] for _ in range(nv)]for i,c1 in enumerate(valid):for j,c2 in enumerate(valid):for p3 in pow3:if c1//p3%3==c2//p3%3:breakelse:nxt[i].append(j)MOD=10**9+7mem={}def dfs(i,j):if (i,j)in mem:return mem[(i,j)]if i==0:return 1ans=sum(dfs(i-1,k) for k in nxt[j])%MODmem[(i,j)]=ansreturn ansreturn sum(dfs(n-1,j) for j in range(nv))%MOD

http://www.dtcms.com/a/604546.html

相关文章:

  • 说明网站建设岗位工作职责新乡百度网站推广工具
  • 企业网站建设的类型主要有赣州小程序开发公司
  • 绿色食品网站模板有哪些网络推广渠道
  • 网站建设方案ppt模板大连三大网络推广网站
  • asp.net程序做的网站安全吗6动力论坛源码网站后台地址是什么
  • 营销型网站建设范文怎么查那些人输入做网站
  • 流行的网站开发框架wordpress 'wp-login.php'安全绕过漏洞
  • 网站开发中数据库的设计原则公司电商网站建设方案
  • 怎样做废旧网站韶关新闻最新消息
  • 用什么做asp网站二级建造师证书查询入口
  • 卖环保设备做哪个网站好教育网站建设解决方案
  • 用阿里云和大淘客做网站上海嘉定区网站建设
  • 郑州网站推广优化海口建设公司网站
  • 武穴市住房和城乡建设局网站公司做一个静态网站多少钱
  • 网站开发所需要的技术焊工培训内容有哪些
  • php网站开发打不开wordpress 获取id
  • 前端网站demo苏州做网站公司 速选苏州聚尚网络
  • 用以前用过的域名做网站鞍山在网络做推广
  • 网站如何不需要备案微信网站开放
  • 杭州微信网站制作家居企业网站建设市场
  • 网站上的彩票走势图是怎么做的音乐排行榜网页设计代码
  • 邯郸网站建设效果好wordpress前端怎么写
  • 国外设计导航网站大全传媒公司 网站开发
  • 甘肃省城乡与建设厅网站首页网站开发模型工具
  • 做网站的项目开发计划书做关键词优化的公司
  • 湛江网站模板高县网站建设
  • 大连建站平台怎么自己做刷qq网站
  • 电商网站 知名案例上海建设工程造价信息网站
  • 网站建设更新不及时 整改报告黑龙江建设厅网站
  • 五级偏黄视频网站建设重庆网站建设 公司