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

算法训练第十一天

150. 逆波兰表达式求值

代码:

class Solution(object):def evalRPN(self, tokens):""":type tokens: List[str]:rtype: int"""stack = []for i in tokens:if i=='+':b = int(stack.pop())a = int(stack.pop())stack.append(a+b)elif i=='-':b = int(stack.pop())a = int(stack.pop())stack.append(a-b)elif i=='*':b = int(stack.pop())a = int(stack.pop())stack.append(a*b)elif i == '/':b = int(stack.pop())a = int(stack.pop())if a * b < 0:res = abs(a)//abs(b)stack.append(-res)else:stack.append(a // b)else:stack.append(int(i))return int(stack[0])

239. 滑动窗口最大值

代码:

class Queue:def __init__(self):self.arr = []def add(self,x):while len(self.arr)>0 and self.arr[len(self.arr)-1]<x:self.arr.pop()self.arr.append(x)def delete(self, x):if self.arr[0] == x:self.arr.pop(0)def get_max(self):return self.arr[0]class Solution(object):def maxSlidingWindow(self, nums, k):""":type nums: List[int]:type k: int:rtype: List[int]"""ans = []queue = Queue()i = 0j = 0while j< len(nums):queue.add(nums[j])if j-i>=k:queue.delete(nums[i])i+=1if j-i+1>=k:ans.append(queue.get_max())j+=1return ans

347.前 K 个高频元素

代码:

class Solution(object):def topKFrequent(self, nums, k):""":type nums: List[int]:type k: int:rtype: List[int]"""nums.sort()di = {}for i in nums:if di.get(i):di[i]+=1else:di[i]=1di_items = di.items()res = sorted(di_items, key=lambda x: x[1], reverse=True)ans = []for i in res:ans.append(i[0])if len(ans)==k:return ans
http://www.xdnf.cn/news/12973.html

相关文章:

  • Python应用变量与数据类型
  • 直角坐标系和斜角坐标系
  • 《PyTorch深度学习入门》
  • 深入剖析JVM垃圾回收,高并发场景JVM性能调优,内存泄露分析,以及如何避免OOM
  • Git 常见操作
  • 【PCIe总线】-- inbound、outbound配置
  • 小游戏不能玩了?最好用flash扩展程序
  • Deep-Live-Cam电脑部署避坑大全:环境搭建、常见错误排查与终极修复方案
  • Transceiver线速率配置
  • Redis实战-消息队列篇
  • 利用coze工作流制作一个自动生成PPT的智能体
  • 针对异构数据的联邦学习
  • Linux:守护进程(进程组、会话和守护进程)
  • OC学习—命名规范
  • 八、数据库恢复技术
  • 【Bluedroid】蓝牙启动之btm_ble_init源码分析
  • 基于51单片机的花样流水灯
  • JS的传统写法 vs 简写形式
  • 打卡第39天:Dataset 和 Dataloader类
  • MySQL强化关键_020_SQL 优化
  • Opnelayers:封装Popup
  • 【推荐算法】Deep Crossing:端到端深度推荐系统的奠基者
  • PCB设计教程【大师篇】——STM32开发板原理图设计(电源部分)
  • CKA考试知识点分享(3)---sidecar
  • DAY 45 Tensorboard使用介绍
  • 主体与代理的义项选择用意: 融智学视域下的三元操作机制
  • Python数据分析7
  • VMware导入vmdk文件
  • Beckhoff(倍福) -- MES(ITAC) TCP 通讯
  • DQN强化学习怎么来使用