- 博客(17)
- 收藏
- 关注
原创 力扣-20.表示数值的字符串
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、“5e2”、"-123"、“3.1416”、“0123"都表示数值,但"12e”、“1a3.14”、“1.2.3”、“±5”、"-1E-16"及"12e+5.4"都不是。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/biao-shi-shu-zhi-de-zi-fu-chuan-lcof 思路分析: 对正确和不正确的形式进行分析,发现不正确的情况要少一些,因此对不
2020-06-11 15:35:02
234
原创 PYTHON-面向对象2
封装的意思就是将类里面的属性私有化,并定义公有set和get方法。 __xx表示私有化属性,set是为了赋值,get是为了取值 class Student: def __init__(self,name,age): self.__name = name self.__age = age self.__score = 59 #定义公有set和 get方法 def setAge(self,age): self.__age
2020-06-06 18:12:30
180
原创 PYTHON-面向对象01
面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,如果过程中有一步出现问题,那么全部过程都要重新开始。面向对象的程序设计的核心是对象,则是将对象封装成独立的,其中一块出现问题,则单独解决问题,不会影响大局。 了解一些名词:类、对象、实例、实例化 类:具有相同特征的一类事物(人、狗、老虎) 对象/实例:具体的某一个事物(隔壁阿花、楼下旺财) 实例化:类——>对象的过程 比如:多个对象–》提取对象的共同的特征和动作—》封装到一个类中。 在程序开发中,往往是先有需求,然后找出特征,在定义
2020-06-04 17:41:28
174
原创 PYTHON-列表推导式
1.列表推导式 基本格式:[表达式 for 变量 in 旧列表] 或者 [表达式 for 变量 in 旧列表 if 条件] 第一个表达式表示最终需要得到的形式 # 过滤长度小于等于3的人名 names = ['tom','lily','jack','bob','haha'] result = [name for name in names if len(name) > 3] print(result) result = [name.capitalize() fo
2020-06-03 15:03:55
10154
5
原创 PYTHON-异常处理
什么是异常? 异常是在程序执行过程中发生的,影响程序的正常运行 常见的语法错误 使用try…except进行异常处理 我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后没有指定异常,则默认处理所有的异常。每一个try,都必须至少有一个except。 try: 被检测的代码块 except 异常类型: 一旦检测到异常,则执行这个位置的语句 万能异常Exception s1 = 'hello' try:
2020-06-03 10:31:12
270
原创 PYTHON-文件操作01
常用操作: open(file, mode=‘r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True) mode: r w rb wb r:read 读 w:write 写 ( 纯文本文件时) rb: read binary wb: write binary 读: open(path/filename,‘rt’)-----&
2020-06-03 08:52:30
128
转载 python--链表【转载】
链表的基本功能 class ListNode: """ 创建单个节点 """ def __init__(self, x): self.val = x self.next = None class MyLinkedList(object): """ 单链表 """ def __init__(self): """ 头指针默认地址为空 长度为0 """ self.head = None self.length = 0
2020-06-01 20:34:39
144
1
原创 PYTHON学习笔记04
匿名函数 格式:lambda 参数1,参数2:运算 s = lambda a,b:a+b result = s(1,5) print(result) --------------------------------------------------- 6 匿名函数可以作为参数 def func(x,y,func): print(x,y) print(func) s = func(x,y) print(s) func(1,2,lambda a,b:a+b) -------
2020-06-01 19:26:59
181
原创 PYTHON学习笔记03
装饰器 ‘’‘ 加入购物车,付款,修改收货地址..... 装饰器多用于判断用户的登录状态 ’‘’ 示例: 用函数A作为参数,函数B接收函数A作为参数,要有闭包的特点 def test(): print('----test------') def func(f): # f=test print(f) f() # 调用test print('--------->func') func(test) -------------------------------
2020-05-28 17:49:32
138
原创 PYTHON学习笔记02
01内部函数 特点: 可以访问外部函数的变量 内部函数可以修改外部函数的可变类型的变量,比如list1 修改外部函数的变量需要声明 ***nonlocal***变量名 locals() 查看本地变量有哪些,以字典的形式输出 globals() 查看全局变量有哪些,以字典的形式输出(注意里面会有一些系统的键值对) # 内部函数 def func(): # 声明变量 n = 100 list1 = [5,9,7,2] # 声明内部函数 def inner_func
2020-05-28 17:01:13
136
原创 PYTHON学习笔记01
01-函数之可变参数 def add(*args): print(args) add() # ()空元组 add(1) # (1,)元组 add(1,2) # (1,2) args加*号,表示装包,传参之前就已经准备好元组 def add(*args): #print(args) sum = 0 if len(args)>0: for i in args: sum += i print('累加和是,sum:',sum) else: print('没有元素可计算,s
2020-05-27 20:25:56
143
原创 小白学习-Leetcode1.08
Leetcode1.08-零矩阵 题目 编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。 示例: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 思路 初始化一个全1矩阵 先遍历原矩阵,找出元素为0的位置,并对标记矩阵进行更改 再遍历一次矩阵,对应标记矩阵的0元素更改原矩阵 代码 class Solution: def setZeroes(self, matri
2020-05-27 15:28:18
108
原创 小白学习-Leetcode1.07
Leetcode1.07-旋转矩阵 题目 给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。 不占用额外内存空间能否做到? 示例: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5,2], [9,6,3] ] 思路分析 只需要对矩阵先沿对角线翻转,在对每一行进行交换,就能在不占用额外空间完成矩阵90°旋转 代码 clas
2020-05-26 22:00:24
258
原创 小白学习-Leetcode1.05
Leetcode1.05-一次编辑 字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。 示例: 输入: first = "pale" second = "ple" 输出: True 思路分析 根据两个字符串的长度分三种情况判断: 长度相等时,相同下标的值,是否有两个及以上的不同字符 长度相差为大于1,返回False 长度相差等于1,根据增,删操作进行判断,可以依次删除长字符串的字符,剩下的字符串与短字符串是否相等
2020-05-26 10:26:05
214
原创 小白学习-Leetcode02
Leetcode-两数相加 题目 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 解题思路 1.从链表头开始两两相加,记
2020-05-25 15:37:50
192
原创 小白学习-Leetcode01
Leetcode-01.两数之和 题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 大佬的思路 用字典模拟哈希求解(简单明了) 用字典记录num1和num2值和位置 def two
2020-05-25 11:17:54
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人