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

python leetcode简单练习(1)

9.回文数


方法思路

  1. 处理特殊情况

    • 负数不可能是回文数。

    • 末尾为0的非零整数不可能是回文数。

  2. 反转一半数字

    • 通过逐位反转整数的后半部分,直到反转的部分不小于剩余的前半部分。

    • 比较反转后的部分与剩余部分是否相等(偶数位情况)或反转部分除以10后是否与剩余部分相等(奇数位情况)。

注意对特殊值0的处理 

class Solution(object):
    def isPalindrome(self,x):
        if x < 0 or (x%10 == 0 and x != 0) :
            return False
        else:
            a = 0
            while x > a:
                a = a * 10 + x % 10
                x = x // 10
            if x == a or a//10 == x :
                return True
            else:
                return False

13.罗马数字转整数


#13.罗马数字转整数

class solution(object):
    def romanToInt(self,s):
        roman_to_int = {
            'I': 1,
            'V': 5,
            'X': 10,
            'L': 50,
            'C': 100,
            'D': 500,
            'M': 1000
        }
        total = 0
        n = len(s)
        for i in range(n-1):
            current_s = roman_to_int[s[i]]
            next_s = roman_to_int[s[i+1]]
            if current_s < next_s:
                total -= roman_to_int[s[i]]
            else:
                total += roman_to_int[s[i]]
        total += roman_to_int[s[-1]]
        return total

14.最长公共前缀

方法思路

  1. 处理特殊情况:如果输入数组为空,直接返回空字符串。

  2. 基准字符串:以第一个字符串作为基准,逐个字符进行比较。

  3. 逐字符检查:遍历基准字符串的每个字符位置,检查其他字符串在该位置上的字符是否相同。

  4. 终止条件:若遇到任一字符串长度不足或字符不匹配,立即返回当前已匹配的前缀部分。

  5. 返回结果:若所有字符均匹配,返回整个基准字符串作为最长公共前缀。

class Solution(object):
    def longestCommonPrefix(self,strs):
        if not strs:
            return ""
        else:
            first_s = strs[0]
            for i in range(len(first_s)):
                current_s = first_s[i]
                for j in strs[1:]:
                    if i >= len(j) or j[i] != current_s:
                        return first_s[:i]
        return first_s

相关文章:

  • 【FreeRTOS】任务(TASK)——任务的创建(源码解读)
  • Qt中绘制不规则控件
  • ​Linux 中 nmap 命令详解:从基础到实战的全面指南
  • dfs记忆化搜索刷题 + 总结
  • 如何判断列表a中元素是否在列表b中
  • [leetcode]2685. 统计完全连通分量的数量
  • C++ 结构体、结构体指针与结构体指针数组详解
  • RabbitMQ 的三种集群模式
  • ETL数据集成:企业数字化转型的核心驱动力与实施策略
  • C++ Primer Plus 编程练习题 第五章 循环和关系表达式
  • 22-ArkTs 常见错误
  • DataPlatter:利用最少成本数据提升机器人操控的泛化能力
  • K8S学习之基础六十四:helm常用命令
  • 戴尔电脑安装Ubuntu双系统
  • 设计模式中的“万能转换器”——适配器模式
  • 【AI News | 20250331】每日AI进展
  • 鸿蒙编译构建-多目标产物
  • Scala循环守卫
  • vi编辑器常见命令
  • stm32第十一天外部中断按键控制灯
  • 网站建设需要的图片怎么弄/市场调研的五个步骤
  • 宝鸡手机版网站建设/企业网站开发制作
  • 品牌网站怎么建立/百度平台商家app下载
  • 建设机械员证书查询网站/2022年最新热点素材
  • 做720全景好的网站/引擎搜索对人类记忆的影响
  • 深圳装饰企业前50强/北京云无限优化