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

【2024-10-31-2024-11-03】LeetCode刷题——python语法基础题

📝前言说明:
●本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,主要跟随B站作者灵茶山的视频进行学习,专栏中一篇文章为B站对应的一个视频
题目主要为B站视频内涉及的题目以及B站视频中提到的“课后作业”。
●文章中的理解仅为个人理解。
●文章中的截图来源于B站作者灵茶山,如有侵权请告知。

🎬个人简介:努力学习ing
📋本专栏:python刷题专栏
📋其他专栏:C语言入门基础以及python入门基础
🎀CSDN主页 愚润求学

这篇文章主要记录来自于LeetCode的编程基础0-1里面的基础题

不熟练的

  • 一,交替合并字符串
  • 二,移动零
  • 三,罗马数字转整数
  • 四,反转链表

一,交替合并字符串

在这里插入图片描述

class Solution:def mergeAlternately(self, word1: str, word2: str) -> str:i, n, m = 0, len(word1), len(word2)ans = []while i < n or i < m:if i < n:ans.append(word1[i])if i < m:ans.append(word2[i])i+=1return "".join(ans)

⭐笔记:利用一个i同时控制两个字符串

二,移动零

在这里插入图片描述

class Solution:def moveZeroes(self, nums: List[int]) -> None:l, r =0, 0while r < len(nums):if l == r or nums[r] == 0:r += 1elif nums[l] != 0:l += 1else:nums[l] = nums[r]nums[r] = 0return nums

在这里插入图片描述

三,罗马数字转整数

在这里插入图片描述

class Solution:def romanToInt(self, s: str) -> int:ROMAN = {'I':1, 'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1000}ans = 0for x, y in pairwise(s):x, y = ROMAN[x], ROMAN[y]ans += x if x >= y else -xreturn ans + ROMAN[s[-1]]

pairwise 来源于itertools模块,用于遍历s序列中的元素对:
将输入的可迭代对象(比如列表、元组等)中的元素按顺序两两配对,然后返回这些配对组成的迭代器。

from itertools import pairwise  s = [1, 2, 3, 4, 5]  
for x, y in pairwise(s):  print(x, y)# 输出:
#  1 2  
#  2 3  
#  3 4  
#  4 5

四,反转链表

在这里插入图片描述

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:pre = Nonecur = headwhile cur:nxt = cur.nextcur.next = prepre = curcur = nxtreturn pre

运用类似“头插法的方式”,重点是要记录链表不同时刻(变换后)首元素的位置

🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

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

相关文章:

  • 【算法】二分查找
  • 第十五章 Vue工程化开发及Vue CLI脚手架
  • 【Grafana】Grafana 基础入门
  • 如何获取页面上所有input框
  • 0-ARM Linux驱动开发-字符设备
  • 使用 Faster Whisper 和 Gradio 实现实时语音转文字
  • redis v6.0.16 安装 基于Ubuntu 22.04
  • Milvus - 内存索引类型详解
  • 【STM32】按键控制LED 光敏传感器控制蜂鸣器
  • flutter-防抖
  • 什么是贪心算法
  • YOLOv6-4.0部分代码阅读笔记-effidehead_lite.py
  • 重学SpringBoot3-整合 Elasticsearch 8.x (一)客户端方式
  • 极简实现酷炫动效:Flutter隐式动画指南第三篇自定义Flutter隐式动画
  • 无人机维护保养、部件修理更换技术详解
  • xilinx vitis 更换硬件平台——ZYNQ学习笔记5
  • vscode makfile编译c程序
  • 【学术论文投稿】探索嵌入式硬件设计:揭秘智能设备的心脏
  • JavaScript 概述
  • 2024年10月个人工作生活总结
  • uniapp ,微信小程序,滚动(下滑,上拉)到底部加载下一页内容
  • MySQL中的日志类型有哪些?binlog、redolog和undolog的作用和区别是什么?
  • 【uni-app】创建自定义模板
  • Cesium移动Primitive位置
  • 安卓13默认连接wifi热点 android13默认连接wifi
  • parted 磁盘分区
  • 第三百零八节 Log4j教程 - Log4j日志到数据库
  • ai智能语音电销机器人可以做哪些事情?
  • CleanShot X - Mac(苹果电脑)专业截图录屏软件
  • Kafka 客户端工具使用分享【offsetexplorer】