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

dedecms网站怎么搬家网站安全事件应急处置机制建设

dedecms网站怎么搬家,网站安全事件应急处置机制建设,安徽省建设干部学校网站关停,网站建设目的和意义记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 2/24 1656. 设计有序流2/25 2502. 设计内存分配器2/26 1472. 设计浏览器历史记录2/27 2296. 设计一个文本编辑器2/28 2353. 设计食物评分系统3/1 131. 分割回文串3/2 132. …

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


目录

      • 2/24 1656. 设计有序流
      • 2/25 2502. 设计内存分配器
      • 2/26 1472. 设计浏览器历史记录
      • 2/27 2296. 设计一个文本编辑器
      • 2/28 2353. 设计食物评分系统
      • 3/1 131. 分割回文串
      • 3/2 132. 分割回文串 II


2/24 1656. 设计有序流

数组保存数据 插入数据后
检查指针节点是否可以往后移动

class OrderedStream(object):def __init__(self, n):""":type n: int"""self.n = nself.ptr = 0self.l = [""]*(n+1)def insert(self, idKey, value):""":type idKey: int:type value: str:rtype: List[str]"""ans = []self.l[idKey] = valuewhile self.ptr<self.n and self.l[self.ptr+1]!="":ans.append(self.l[self.ptr+1])self.ptr +=1if self.ptr>self.n:breakreturn ans

2/25 2502. 设计内存分配器

使用长度为n的数字 记录每个位置内存使用情况

class Allocator(object):def __init__(self, n):""":type n: int"""self.n=nself.mem=[0]*ndef allocate(self, size, mID):""":type size: int:type mID: int:rtype: int"""cnt = 0for i in range(self.n):if self.mem[i]>0:cnt=0else:cnt+=1if cnt==size:for j in range(i-cnt+1,i+1):self.mem[j]=mIDreturn i-cnt+1return -1def freeMemory(self, mID):""":type mID: int:rtype: int"""cnt = 0for i in range(self.n):if self.mem[i]==mID:cnt+=1self.mem[i]=0return cnt

2/26 1472. 设计浏览器历史记录

模拟 使用一个数组urls保存网页记录
cur指向当前访问的网页索引

class BrowserHistory(object):def __init__(self, homepage):""":type homepage: str"""self.urls = [homepage]self.cur = 0def visit(self, url):""":type url: str:rtype: None"""self.urls = self.urls[:self.cur+1]self.urls.append(url)self.cur+=1def back(self, steps):""":type steps: int:rtype: str"""self.cur = max(0,self.cur-steps)return self.urls[self.cur]def forward(self, steps):""":type steps: int:rtype: str"""self.cur = min(len(self.urls)-1,self.cur+steps)return self.urls[self.cur]

2/27 2296. 设计一个文本编辑器

使用left,right两个栈分别存储光标左右的内容
add:将text压入left中
delete:从left中取出k个直至为空
cursorleft:将left中取出放入right中
cursorright:将right中取出放入left中

class TextEditor(object):def __init__(self):self.left=[]self.right=[]def addText(self, text):""":type text: str:rtype: None"""self.left.extend(text)def deleteText(self, k):""":type k: int:rtype: int"""cnt=min(k,len(self.left))del self.left[-cnt:]return cntdef cursorLeft(self, k):""":type k: int:rtype: str"""for _ in range(min(k,len(self.left))):self.right.append(self.left.pop())return ''.join(self.left[-10:])def cursorRight(self, k):""":type k: int:rtype: str"""for _ in range(min(k,len(self.right))):self.left.append(self.right.pop())return ''.join(self.left[-10:])

2/28 2353. 设计食物评分系统

foodmap维护food对应的分数和烹饪方法
ratemap[cuisines] 使用最小堆维护同一烹饪方法中的分数 用负数变为最大堆

import heapq
class FoodRatings(object):def __init__(self, foods, cuisines, ratings):""":type foods: List[str]:type cuisines: List[str]:type ratings: List[int]"""self.food={}self.rate={}self.n=len(foods)for i in range(self.n):f = foods[i]c = cuisines[i]r = ratings[i]self.food[f]=(c,r)if c not in self.rate:self.rate[c]=[]heapq.heappush(self.rate[c], (-r,f))def changeRating(self, food, newRating):""":type food: str:type newRating: int:rtype: None"""c,r = self.food[food]heapq.heappush(self.rate[c], (-newRating,food))self.food[food]=(c,newRating)def highestRated(self, cuisine):""":type cuisine: str:rtype: str"""while self.rate[cuisine]:r,f = self.rate[cuisine][0]if -r == self.food[f][1]:return fheapq.heappop(self.rate[cuisine])return ""

3/1 131. 分割回文串

check检查字符串l是否回文
pdic存放pos开头所有回文的子串

def partition(s):""":type s: str:rtype: List[List[str]]"""def check(l):t = Trueif len(l)==0:return twhile t and len(l)>1:if l[0]==l[-1]:l.pop(0)l.pop(-1)else:t = Falseif len(l)>1:return Falseelse:return Trueret =[]if len(s)==0:return retl = list(s)    dic = {}for i in range(len(l)):begin = l[i]for j in range(len(l)-1,i-1,-1):if begin == l[j]:if check(l[i:j+1]):dic[(i,j)] = l[i:j+1]pdic = {}for i in dic:pos = i[0]tmp = pdic.get(pos,[])tmp.append(i)pdic[pos] = tmpdef combine(begin):ret = []va = pdic[begin]for v in va:end = v[1]if end == (len(s)-1):ret.append([v])else:l = combine(end+1)for t in l:t.insert(0,v)ret.extend(l)     return retr = combine(0)for v in r:tmp = []for i in v:tmp.append(''.join(dic[i]))ret.append(tmp)return ret

3/2 132. 分割回文串 II

m[i][j]true表示[i,j]为回文串
dp[i]记录0~i最少分割切几次


def minCut(s):""":type s: str:rtype: int"""n = len(s)##预处理 判断i,j是否为回文串m = [[True]*n for _ in range(n)] for i in range(n-1,-1,-1):for j in range(i+1,n):m[i][j] = (s[i]==s[j]) and m[i+1][j-1]dp = [float("inf")] * nfor i in range(n):if m[0][i]: ##如果0-i为回文串 不需要切割dp[i]=0else:for j in range(i):if m[j+1][i]:dp[i] = min(dp[i],dp[j]+1)return dp[n-1]

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

相关文章:

  • 哈尔滨网站建设排it外包合同范本
  • 手机网站菜单网页怎么做的环保网站建设公司排名
  • 蚌埠做企业网站制作微信小程序公司
  • 外贸常用网站有哪些在哪个网站可以学做甜点
  • 链接缩短在线生成器seo自学网
  • 做网站各个流程济宁建筑人才网
  • 优化网站排名工具网站建设是否属于技术合同
  • 国外的网站需要备案吗建个普通网站
  • 杭州网站建设制作公司大德通网站建设
  • 做网站常用的小语种有哪些wordpress秒开
  • 可以做免费推广的网站企业负责人电话名录
  • 太原微信网站天元建设集团最新现状
  • 毕业设计做网站怎样做特别一点南昌市住房和城乡建设局网站
  • 江西网站开发方案wordpress配置多用户
  • 网站建设设计费用策划案格式模板
  • wordpress语音问答自动优化网站软件没有了
  • 建设银行wap网站如何制作app软件下载
  • 学做网站论坛熊掌深圳网站seo优化排名公司
  • 天津企业网站建设一条龙银行网站模板免费下载
  • 杭州网站建设公司排名用狗做头像的网站
  • 深圳做微商网站设计盘锦做网站哪家好
  • 呼和浩特建设局网站百度快速查询
  • 网站建设方案书 模板二维码短链接生成器
  • 可以做mv 的视频网站华夏建筑工程网
  • 影视网站建设要多少钱网站免费推广大全
  • 做电商的常去网站西安建设局网站小孩把
  • 杭州建网站号码之家官网
  • 官方网站案例荣耀手机官方商城官网
  • wordpress 流量站兄弟们给个能用的网站
  • 网站新闻对百度优化有用吗做图片视频的网站有哪些问题