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

备战蓝桥杯Day18 - 双链表

一、每日一题

蓝桥杯真题之工作时长

这个题写代码做的话很麻烦,而且我也不一定能写出来,所以我直接就是用的excel来计算的时间和。

使用excel的做法

1.先把文件中的时间复制到excel中。

2.把日期和时间分到两列。

分成两列的步骤:

选中要分列的数据(注意!只能选择一列,多列不可操作),在上面找到数据,再找到分列这个操作。

 点进去后选择分隔符号,点击下一步。

 只选择空格,不选择其他的,之后点击下一步。

 格式可以选择常规,也可以选择日期,没太大影响。

 最后点击完成即可。

最后得到的结果,不知道为什么后面会有0:00,但是不影响结果计算,主要是把时间单独分出一列来即可。

3.计算一天中上下班的时间差 

 在新的一列中这样写出计算公式,并得出结果,往下复制,excel会根据对应的单元格得出相应的数据,复制几个后,可以点右下角的加号向下拉,就能得出两个单元格的的差值,就是一天中上班的时间。

4.计算每天上班时间的和

5.换算成秒

计算出时间总和的时间单位为天,一天24*60*60s = 86400s。最后结果为5101913s。

在蓝桥杯官网提交结果后,运行成功通过。

 二、双链表

单链表只可以实现数据不断向前寻找,不可以向后寻找,为了提高效率,从而引出双链表。

双链表的每个节点有两个指针,一个指向后一个节点,一个指向前一个节点,这样既可以向前寻找数据,也可以向后寻找。

 双链表的初始化及基本操作。

class Node:  def __init__(self, data=None):  self.data = data  self.next = None  self.prev = None  class DoublyLinkedList:  def __init__(self):  self.head = None  # 在链表末尾添加节点  def append(self, data):  if not self.head:  self.head = Node(data)  else:  new_node = Node(data)  current = self.head  while current.next:  current = current.next  current.next = new_node  new_node.prev = current  # 在链表开头添加节点  def prepend(self, data):  new_node = Node(data)  new_node.next = self.head  if self.head:  self.head.prev = new_node  self.head = new_node  # 删除指定数据的节点  def delete(self, data):  current = self.head  if current and current.data == data:  self.head = current.next  if self.head:  self.head.prev = None  return  while current and current.data != data:  current = current.next  if current.next:  current.next.prev = current.prev  if current.prev:  current.prev.next = current.next  # 打印链表  def print_list(self):  current = self.head  while current:  print(current.data, end=' ')  current = current.next  print()  # 示例  
dll = DoublyLinkedList()  
dll.append(1)  
dll.append(2)  
dll.prepend(0)  
dll.print_list()  # 输出: 0 1 2  
dll.delete(1)  
dll.print_list()  # 输出: 0 2

http://www.lryc.cn/news/307572.html

相关文章:

  • 【大数据】Flink 内存管理(二):JobManager 内存分配(含实际计算案例)
  • (2024,Sora 逆向工程,DiT,LVM 技术综述)Sora:大视觉模型的背景、技术、局限性和机遇回顾
  • MySQL基础(二)
  • el-table 多选表格存在分页,编辑再次操作勾选会丢失原来选中的数据
  • 备战蓝桥杯————如何判断回文链表
  • linux 文本编辑命令【重点】
  • C#面:ref 和 out 的区别
  • php脚本输出中文在浏览器中显示乱码
  • 【Unity每日一记】角色控制器Character Contorller
  • Kafka入门介绍一
  • leetcode 3.反转链表;
  • 【蓝桥杯】快读|min和max值的设置|小明和完美序列|​顺子日期​|星期计算|山
  • 半小时到秒级,京东零售定时任务优化怎么做的?
  • stm32——hal库学习笔记(ADC)
  • 一周学会Django5 Python Web开发-Http请求HttpRequest请求类
  • element el-date-picker 日期组件置灰指定日期范围、禁止日期范围日期选择
  • 202434读书笔记|《繁星·春水》——残花缀在繁枝上,鸟儿飞去了,撒得落红满地,生命也是这般的一瞥么?
  • Golang 关于 interface 接口的理解
  • SQL注入漏洞解析--less-7
  • java高级——反射
  • 云计算新宠:探索Apache Doris的云原生策略
  • 【PHP设计模式08】装饰模式
  • 寒假作业Day 01
  • 学习JAVA的第四天(基础)
  • 拉美巴西阿根廷媒体宣发稿墨西哥哥伦比亚新闻营销如何助推跨境出海推广?
  • SpringMVC 学习(九)之拦截器
  • TCP/IP-常用网络协议自定义结构体
  • 内部控制提纲
  • 江科大stm32 定时器 TIM输出比较--学习笔记
  • VHDL-2008语言支持