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

python学习思路

话不多说,就是开始练习,因为之前编程的经验比较少,怎么办,就像马化腾一样,先抄袭,只有抄袭完成了之后,你才会获得你自己的知识
总体思路是先抄袭,再领悟。最后一定要自己默写打一次。不然没印象
案例1:求最长的回文数
在这里插入图片描述

class Solution:
    def longestPalindrome(self, s: str) -> str:
        def huiwenshu(s, l, r):
            while l >= 0 and r < len(s) and s[l] == s[r]:
                l -= 1
                r += 1
            return s[l + 1:r]

        res = ''
        for i in range(len(s)):
            sub1 = huiwenshu(s, i, i)
            sub2 = huiwenshu(s, i, i + 1)
            res = sub1 if len(sub1) > len(res) else res
            res = sub2 if len(sub2) > len(res) else res
        return res

a=Solution()
f=a.longestPalindrome('abcdcda')
print(f)

案例二
在这里插入图片描述

class Solution:
    def isPalindrome(self, x: int) -> bool:
         return str(x) == str(x)[::-1]

案例三:

class Solution:
    def mySqrt(self, x: int) -> int:
        left,right = 0,x
        while left <= right:
            mid = (left + right)//2
            if mid * mid == x:
                return mid
            elif mid * mid > x:
                if (mid-1)*(mid-1) <= x:
                    return mid-1
                right = mid -1
            else:
                if (mid+1) * (mid+1) > x:
                    return mid
                left = mid + 1
        return left

案例四
在这里插入图片描述
案例五
class Solution: def addStrings(self, num1: str, num2: str) -> str: return str(int(num1)+int(num2))在这里插入图片描述
在这里插入图片描述
class Solution:
def findTheDifference(self, s: str, t: str) -> str:
res = 0
for i in s+t:
res ^= ord(i)
return chr(res)

案例六
在这里插入图片描述
案例七
`# Definition for a binary tree node.

class TreeNode:

def init(self, val=0, left=None, right=None):

self.val = val

self.left = left

self.right = right

class Solution:
def isSymmetric(self, root: Optional[TreeNode]) -> bool:
if not root:
return True
def jugde(left,right):
if not left and not right:
return True
if not left or not right:
return False
if left.val != right.val:
return False
return jugde(left.left,right.right) and jugde(left.right, right.left)
return jugde(root.left, root.right)`
在这里插入图片描述

class Solution:
    def isPalindrome(self, s: str) -> bool:
        s1=''.join(filter(str.isalnum, s)).lower()
        return s1==s1[::-1]

案例八
在这里插入图片描述

class Solution:
    def getRow(self, rowIndex: int) -> List[int]:
        ans = [1]
        for i in range(1, rowIndex+1):
            ans.append(ans[-1]*(rowIndex-i+1)//i)
        return ans

案例九
class Solution:
def singleNumber(self, nums: List[int]) -> int:
return reduce(lambda x, y: x ^ y, nums)`在这里插入图片描述
https://www.runoob.com/python/python-func-reduce.html

自己改写

class Solution:
    def yihuo(self,a,b):
        return a^b
    def singleNumber(self, nums: List[int]) -> int:
        return reduce(self.yihuo, list(nums)) 

案例10,合并两个有序数组

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        """
        Do not return anything, modify nums1 in-place instead.
        """
        nums1[m:] = nums2
        nums1.sort()
        return nums1

在这里插入图片描述

相关文章:

  • MySQL纯代码复习(上)
  • 牛客刷题记录(常见笔试题)
  • 次元裂缝已打开,AI绘画突飞猛进,其潜力究竟有多大
  • 基于DJYOS的UART驱动编写指导手册
  • i++的错误使用
  • 这次把怎么做好一个PPT讲清-总体篇
  • web前端-第三次作业-按钮
  • 分享一个单片机GUI库,简洁,使用
  • 数据结构体进阶链表【带头双向循环链表,单向链表的优化,从根部解决了顺序表的缺点】一文带你深入理解链表
  • 【数据结构】栈和队列
  • 硬核Vue3响应式原理解析,为你保驾护航渡过寒冬
  • 轻松掌握 jQuery 基础
  • Python每日一练 03
  • 【计算机毕业设计】Springboot医疗管理系统源码
  • 【2022硬件设计开源盛宴】一年一度的hackaday大赛结束,冠军便携式风力涡轮机,共提交326个电子作品,奖金池15万美元
  • 基于51单片机的智能路灯控制系统proteus仿真原理图PCB
  • 四、ref与DOM-findDomNode-unmountComponentAtNode
  • synchronized关键字
  • StarRocks从入门到精通系列五:导入数据
  • 做了8年前端,细说那些曾经让你浴霸不能的后端