- 博客(20)
- 收藏
- 关注
原创 thinspline 安装
使用命令pip install git+https://github.com/cheind/py-thin-plate-spline报错 ERROR: Command errored out with exit status 128命令改为pip install git+http://github.com/cheind/py-thin-plate-spline成功
2022-04-25 11:33:24 885 1
原创 python 列表复制给另一个列表,改值两个列表均会改变(备忘)
本意是使A = B,B为一个列表,结果在后续对A的操作中,导致B中的值也改变了,才回忆起python中均为“引用”这话。为避免这种情况,对这篇博文总结有两种情况可避免。利用列表切片 A = B[:] #这种不行深拷贝 A = copy.deepcopy(B)...
2022-03-27 16:42:07 1650
原创 TypeError: ‘str‘ object does not support item assignment
可以使用 s[i] 的方法读取python字符串的内容,但如果写如下代码就会报错num[i] = '9'python中的字符串跟C++的有点不一样,python的字符串是一种不可变对象(immutabel object),意味着只读不写,线程安全。C++的字符串我们可以直接使用s[0]='0’这种语法对字符串中的某个字符赋值,而python不可以。在python中,可以先将字符串转成列表,然后再进行赋值操作,再将其转变回来。class Solution: def monotoneIncre
2022-03-08 17:28:27 8434
原创 python 同时给多个变量赋值
python 交换两个值的时候可以这样简写s[left], s[right] = s[right], s[left]按正常思维应该先 s[left] = s[right],然后 s[right] = s[left],值会被覆盖掉,导致s[right]的值还是它自己但这条语句确实可以实现变量交换,因为在连续赋值语句中等式右边其实都是局部变量,而不是真正的变量值本身,比如,上面例子中右边的s[right], s[left],在python解析的时候,只是把s[right], s[left]的值赋给左边
2022-03-01 22:41:49 1404
原创 python list.reverse() 与 list[::-1] 的区别
这两个操作功能一直,但 list.reverse() 没有返回值# 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 = rightclass Solution: def levelOr
2022-02-22 17:18:22 341
原创 349. 两个数组的交集
class Solution(object): def intersection(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ res = list(set(nums1)&set(nums2)) return res
2021-12-08 12:04:04 84
原创 1002. 查找常用字符
先统计第一个字符串所有字符出现的次数,放在hash 中。接下来,把其他字符串里字符的出现次数也统计出来一次放在hashOtherStr中。然后hash 和 hashOtherStr 取最小值,这是本题关键所在,此时取最小值,就是 一个字符在所有字符串里出现的最小次数了。class Solution(object): def commonChars(self, words): """ :type words: List[str] :rtype: L
2021-12-08 11:56:08 325
原创 242. 有效的字母异位词
class Solution(object): def isAnagram(self, s, t): """ :type s: str :type t: str :rtype: bool """ dict = [0]*26 for i in range(len(s)): dict[ord(s[i])-ord('a')] += 1 for i in r
2021-12-08 10:53:06 98
原创 142. 环形链表 II
使用双指针,慢指针每次走一步,快指针走两步,如果快慢指针相遇,则有环。若有环,设定速度相同的双指针,一个从头节点出发,一个从快慢指针相遇节点出发,相遇点就是环的入口证明过程:https://github.com/youngyangyang04/leetcode-master/blob/master/problems/0142.%E7%8E%AF%E5%BD%A2%E9%93%BE%E8%A1%A8II.md# Definition for singly-linked list.# class Lis
2021-12-07 22:43:06 773
原创 面试题 02.07. 链表相交
根据快慢法则,走的快的一定会追上走得慢的。在这道题里,有的链表短,他走完了就去走另一条链表,我们可以理解为走的快的指针。那么,只要其中一个链表走完了,就去走另一条链表的路。如果有交点,他们最终一定会在同一个位置相遇# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = None
2021-12-07 21:19:28 112
原创 19. 删除链表的倒数第 N 个结点
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution(object): def removeNthFromEnd(self, head, n): """ :type head:.
2021-12-07 20:31:14 89
原创 24. 两两交换链表中的节点
按下图步骤倒过来# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution(object): def swapPairs(self, head): """ :type head:
2021-12-07 18:04:26 74
原创 206. 反转链表
迭代法 / 双指针法# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution(object): def reverseList(self, head): """ :type hea
2021-12-07 17:37:50 93
原创 707. 设计链表
单链表class Node: def __init__(self, val): self.val = val self.next = Noneclass MyLinkedList(object): def __init__(self): self._head = Node(0) self._count = 0 def get(self, index): """ :t
2021-12-07 12:04:08 323
原创 203. 移除链表元素
添加虚拟头结点# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution(object): def removeElements(self, head, val): """ :typ
2021-12-06 17:40:02 316
原创 59. 螺旋矩阵 II
class Solution(object): def generateMatrix(self, n): """ :type n: int :rtype: List[List[int]] """ matrix = [[0]*n for _ in range(n) ] up, down, left, right = 0, n-1, 0, n-1 number = 1 whi
2021-12-06 10:07:58 382
原创 209. 长度最小的子数组
209. 长度最小的子数组class Solution(object): def minSubArrayLen(self, target, nums): """ :type target: int :type nums: List[int] :rtype: int """ min_len = float('inf') for i in range(len(nums)):
2021-12-05 17:37:19 173
原创 977.有序数组的平方
class Solution(object): def sortedSquares(self, nums): """ :type nums: List[int] :rtype: List[int] """ len_nums = len(nums) i = 0 j = k = len_nums-1 res = [-1]*len_nums while(i<
2021-11-16 00:56:02 401
原创 0027.移除元素
class Solution(object): def removeElement(self, nums, val): """ :type nums: List[int] :type val: int :rtype: int """ slow = fast = 0 while (fast < len(nums)): if nums[fast] != val:
2021-11-16 00:37:04 202
原创 704.二分查找
704.二分查找class Solution(object): def search(self, nums, target): """ :type nums: List[int] :type target: int :rtype: int """ left = 0 right = len(nums)-1 while (left <= right):
2021-11-16 00:21:32 203
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人