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

网站如何优化排名软件推广的方式有哪些

网站如何优化排名软件,推广的方式有哪些,免费建设互动的网站,网站建设好弄吗记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 8/28 57. 插入区间8/29 823. 带因子的二叉树8/30 1654. 到家的最少跳跃次数8/31 1761. 一个图中连通三元组的最小度数9/1 2240. 买钢笔和铅笔的方案数9/2 2511. 最多可以摧…

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


目录

      • 8/28 57. 插入区间
      • 8/29 823. 带因子的二叉树
      • 8/30 1654. 到家的最少跳跃次数
      • 8/31 1761. 一个图中连通三元组的最小度数
      • 9/1 2240. 买钢笔和铅笔的方案数
      • 9/2 2511. 最多可以摧毁的敌人城堡数目
      • 9/3 1921. 消灭怪物的最大数量


8/28 57. 插入区间

找到新区间起点位置 和终点位置对应的区间位置

def insert(intervals, newInterval):""":type intervals: List[List[int]]:type newInterval: List[int]:rtype: List[List[int]]"""ret = []if len(intervals)==0:ret.append(newInterval)return retnow = newIntervalfor i in range(len(intervals)):v = intervals[i]if v[1] < now[0]:ret.append(v)continueelif now[1] < v[0]:ret.append(now)ret.extend(intervals[i:])breaknow[0] = min(v[0],now[0])now[1] = max(v[1],now[1])if len(ret)==0 or now[0] > ret[-1][1]:ret.append(now)return ret

8/29 823. 带因子的二叉树

将数值从小到大排序
dp[i] 代表以arr[i]为根节点能够得到的树个数
从小到大考虑

def numFactoredBinaryTrees(arr):""":type arr: List[int]:rtype: int"""MOD = 10**9+7arr.sort()n = len(arr)dp = [1]*nidx = {arr[i]:i for i in range(n)}for i,v in enumerate(arr):for j in range(i):x = arr[j]if x*x>v:breakif x*x==v:dp[i]= (dp[i]+dp[j]*dp[j])%MODbreakif v%x==0 and v//x in idx:dp[i]=(dp[i]+dp[j]*dp[idx[v//x]]*2)%MODreturn sum(dp)%MOD

8/30 1654. 到家的最少跳跃次数

BFS 标记当前往前为1 往后为-1
如果a>b 当前位置超过x+b之后必定再也到不了x
如果a<b x最大为2000 不超过6000

def minimumJumps(forbidden, a, b, x):""":type forbidden: List[int]:type a: int:type b: int:type x: int:rtype: int"""s = set(forbidden)ans = 0l = [(0,1)]mem={(0,1)}while l:tmp = []for loc,k in l:if loc==x:return ansnxt = [(loc+a,1)]if k==1:nxt.append((loc-b,-1))for i,k in nxt:if i not in s and 0<=i<6000 and (i,k) not in mem:tmp.append((i,k))mem.add((i,k))ans+=1l=tmpreturn -1

8/31 1761. 一个图中连通三元组的最小度数

m[i][j]记录i,j的连通情况
deg[i] 记录i的出度

def minTrioDegree(n, edges):""":type n: int:type edges: List[List[int]]:rtype: int"""deg = [0]*nm = [[0]*n for i in range(n)]for x,y in edges:x,y = x-1,y-1m[x][y] = m[y][x] = 1deg[x]+=1deg[y]+=1ans = float("inf")for i in range(n):for j in range(i+1,n):if m[i][j]==1:for k in range(j+1,n):if m[i][k]==m[j][k]==1:ans = min(ans,deg[i]+deg[j]+deg[k]-6)return -1 if ans==float("inf") else ans

9/1 2240. 买钢笔和铅笔的方案数

遍历可以买钢笔的个数 累加各个情况下可以买铅笔的个数

def waysToBuyPensPencils(total, cost1, cost2):""":type total: int:type cost1: int:type cost2: int:rtype: int"""ans = 0for i in range(total//cost1):ans += (total -i*cost1)//cost2+1return ans

9/2 2511. 最多可以摧毁的敌人城堡数目

从头遍历记录前一个自己城堡位置x 和 空位置y

def captureForts(forts):""":type forts: List[int]:rtype: int"""x,y=-1,-1ans = 0for i,v in enumerate(forts):if v==-1:if x>-1:ans = max(i-1-x,ans)x,y=-1,ielif v==1:if y>-1:ans = max(i-1-y,ans)x,y=i,-1return ans

9/3 1921. 消灭怪物的最大数量

计算每个怪物到城市的时间 从小到大排序
遍历每个怪物是否能在其到达前被消灭

def eliminateMaximum(dist, speed):""":type dist: List[int]:type speed: List[int]:rtype: int"""n = len(dist)t=[0]*nfor i in range(n):t[i] = dist[i]*1.0/speed[i]t.sort()ans = 0for i,v in enumerate(t):if i<v:ans+=1else:breakreturn ans

http://www.mmbaike.com/news/86006.html

相关文章:

  • 微信小程序网站建设哪家好自媒体推广渠道有哪些
  • 西安网站排名优化培训太原百度seo
  • ipad 网站开发工具山东免费网络推广工具
  • 自建设网站郑州网站营销推广公司
  • 北京建设委网站电子报刊的传播媒体是什么
  • 建个网站需要多少钱费用平台推广方案模板
  • 自己做网站表白怎么给产品做网络推广
  • 网站用户体验要素中国今天最新军事新闻
  • 北京网站怎么优化凡科建站多少钱
  • asp网站开发pdf网站运营与维护
  • 找人做网站产生纠纷算诈骗吗百度搜索引擎下载免费
  • 制作app的网站哪个好百度网站推广教程
  • 对政府网站建设的几点要求网站快速收录教程
  • 网站图片宽度莆田百度快照优化
  • 淄博网站建设公司乐达舆情监控
  • 怎么用网吧电脑做网站服务器吗网站推广公司哪家好
  • 设计上海2021门票杭州百度seo
  • 重庆做营销型网站建设公司谷歌浏览器下载安装2023最新版
  • 最经典最常用的网站推广方式是免费crm客户管理系统
  • 广州优俊网站制作公司网站排名优化培训电话
  • 手机网站建设新闻灰色广告投放平台
  • 专业b2b电子商务平台哪里有整站优化
  • 佛山 网络推广怎么理解搜索引擎优化
  • 开源软件开发平台整站优化快速排名
  • apache多个网站推广下载app赚钱
  • 北京广告公司聚集地搜索引擎优化公司排行
  • 电子商务网站建设实训步骤电商培训班
  • 免费家装设计网合肥seo网站排名
  • 怎么让人搜索到自己做的网站免费制作个人网站
  • 广东网站开发推荐夸克搜索引擎