自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 lc 349. 两个数组的交集

111

2022-08-28 10:58:12 189 1

原创 536. 从字符串生成二叉树

我觉得这道题不算很难,但是有很多很多细节要处理;看了题解,发现自己的思路和题解其实很相似;但是很多地方我的处理方式是有问题的;导致后面代码越改越乱;这一道题耽误了太多题解,索性看题解了;下面是一段改了很久依然没有过的代码=.=:# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val...

2022-04-19 14:33:00 911

原创 BM28 二叉树的最大深度 DFS学习

看了一个Up主总结的DFS的做题模板,搬过来记录一下res = 0 #存储最终结果start = 0 #初始化当前结果#构造递归函数,通常参数为当前节点和当前结果dfs(node,currentresult):#终止条件返回判断 if node == None: return#更新当前结果currentresult#若到达末尾叶子节点,进行最优结果的更新if node.left == None and node.right == None:#...

2022-04-18 23:28:56 488

原创 360. 有序转化数组

class Solution: def sortTransformedArray(self, nums: List[int], a: int, b: int, c: int) -> List[int]: sum = [] for i in nums: temp = i*i*a + b*i +c sum.append(temp) sum.sort() return su...

2022-04-18 23:20:01 195

原创 487. 最大连续1的个数 II

第一次写的代码超时,只过了一半用例class Solution: def findMaxConsecutiveOnes(self, nums: List[int]) -> int: temp = 1 maxs = 1 if len(nums) == 1: return maxs if 0 not in nums: return len(nums) for...

2022-04-18 18:19:51 239

原创 1055. 形成字符串的最短路径

题目:代码:class Solution: def shortestWay(self, source: str, target: str) -> int: #初始化的过程 s = [] t = [] for i in range(0,len(source)): s.append(source[i]) for i in range(0,len(target)):

2022-04-18 15:11:15 250

原创 651. 4键键盘 ----- 动态规划

说实话我觉得这个题挺奇怪的=.=看题解都看了半天根据动态规划的做题模板看下:首先我们看最后一个状态:有两种情况:1、输入A 2、输入ctrlV设d[i]为第i次输入后 A的数量对于最后一次输入的是A这种情况来说:d[i] = d[i-1]+1 这个比价好写但对于最后一次输入的是ctrlv来说 ,也有两种情况:1、ctrlA ctrlC ctrlVctrlVctrlVctrlV2、.......................ctrlA ctrlC ctrlV...

2022-04-17 23:26:01 131

原创 416. 分割等和子集 --- 0-1背包问题

这道题可以转化为0-1背包问题去求解的;这道题间接可以变为:我们能不能找到一些数令所有数的和 为整个数组和的一半?设d[i][j]:能否在0-i区间的数组中找到和为j的数单挑出来 nums[i],对于nums[i],我们有两种选择:选择nums[i]:如果选择nums[i] ,那么我们 就要看d[i-1][j-nums[i]]的值是否为true若为true,那么d[i][j]的值也为true不选择nums[i]:不选择nums[i],那么d[i][j]的值就为d[i...

2022-04-17 20:33:11 181

原创 剑指 Offer II 098. 路径的数目 -- 动态规划

思路:稍后写~代码:class Solution: def uniquePaths(self, m: int, n: int) -> int: #初始化 sum = [] #保存最后的结果,二维数组list[list[]] new = [1 for i in range(0,n)] sum.append(new) for i in range(1,m): ne...

2022-04-17 16:25:18 338

原创 剑指 Offer II 103. 最少的硬币数目 -- 动态规划

思路:******晚点写嘻嘻代码:class Solution: def coinChange(self, coins: List[int], amount: int) -> int: length = len(coins) f = [] f.append(0) #初始化f(0) = 0 for i in range(1,amount+1): temp = [] ...

2022-04-17 15:33:37 149

原创 python 函数

一、格式def 函数名 ([输入参数]):函数体return xxx二、传参方式1、位置传参:例子就是位置传参,根据形参的位置传入实参2、关键字传参根据形参名称进行实参传递看下这种,我是根据关键字的名字传参的,不会再根据顺序传递了、、3、如果传入的参数是可变对象,那么函数结束后,可变对象的值是会改变的;不可变对象的值出了函数是不会变的,看下面的例子即可理解:三、函数的返回值如果函数的返回值是多个,返回的结果为元组四、函数参数的.

2022-04-17 00:17:59 411

原创 python 字符串2

在进行字符串拼接操作的时候,尽量使用join方法,而非+;因为join方法是先计算出所有字符中的长度,然后再拷贝,只new一次对象一、字符串的常用操作1、查询index() 查找子串substr第一次出现的位置,如果查找的子串不存在,则抛出ValueErrorrindex() 查找子串substr最后一次出现的位置,如果查找的子串不存在,则抛出ValueErrorfind() 查找子串substr第一次出现的位置,如果查找的子串不存在,则返回-1rf...

2022-04-16 23:10:20 398

原创 20. 有效的括号

代码:用栈的思想class Solution: def isValid(self, s: str) -> bool: stack = [] dic = {'(':')','[':']','{':'}'} for i in s: if i in dic: stack.append(i) else: if not sta...

2022-04-16 20:34:36 56

原创 544. 输出比赛匹配对

比较简单的字符串拼接...class Solution: def findContestMatch(self, n: int) -> str: l = [i for i in range(1,n+1)] while len(l) > 2: new = [] length = len(l) for i in range(0,length//2): ...

2022-04-16 15:57:13 389

原创 531. 孤独像素 I

题目:思路:1、每个小list中,如果B的个数大于1,那么这个B肯定不满足一行中只有1个B2、如果一行中只有一个B,记录这个B的下标3、循环遍历每个小list的B下标的位置,如果找到了,并且不是当前行的B,那么就不满足一列只有一个B的要求代码如下:class Solution: def findLonelyPixel(self, picture: List[List[str]]) -> int: num = 0 fla.

2022-04-16 12:45:23 279

原创 209. 长度最小的子数组

第一次没仔细审题,要是连续的子串,我直接想着把字符串逆序排序,然后找从前往后加....debug的时候才意识到....class Solution: def minSubArrayLen(self, target: int, nums: List[int]) -> int: nums.sort(reverse = True) sum = 0 num = 0 for i in range(0,len(nums)): ...

2022-04-16 11:54:39 238

原创 差分数组 ~~

给定一个序列 arry = [2,4,1,5,3]看下其差分序列 d = [2,2,-3,4,-2]如果对差分序列求前缀和 sum = [2,4,1,5,3]可以看到为原数组 :如果我们相对原序列进行K次操作;举个例子1、对arry[1~3]进行+1操作2、对arry[0~4]进行 +3操作求进行完这两次操作后数组为多少 ;我们观察 差分序列求前缀和的操作,如果我想给1-3位置的元素+1,那我给差分数组1位置的元素标记+1,那么在进行前缀和操作的时候,1位置后面所有的元素都会

2022-04-15 20:47:47 322

原创 算法 前缀和初学

给定数组 arry = [1,3,5,7,9]假如我们要求 位置0-2的区间和:1+3+5 = 9位置1-4的区间和 : 3+5+7+9 = 24我们应该怎样快速的实现呢?设sum[i]为前i个元素的和:sum[0] = arry[0] #只求位置1的和就直接等于数组第一个元素的值sum[i] = sum[i-1]+arry[i]我们根据这个式子计算下arry数组对应的sum首先 sum[0] = arry[0] = 1sum[1] = sum[1-1] + arry[..

2022-04-15 17:05:54 63

原创 370. 区间加法

题目:自己用最常规的思路写了下:class Solution: def getModifiedArray(self, length: int, updates: List[List[int]]) -> List[int]: target = [] for i in range(length): target.append(0) if not updates: return target

2022-04-15 16:53:54 428

原创 python HJ4 字符串分隔

string = input()length = len(string)temp =length//8if temp !=0: for i in range(length//8): for j in range(8*i,8*i+8): if j == 8*i+7: print(string[j]) else: print(string[j],end='')if.

2022-04-13 20:35:50 524

原创 力扣 780 到达终点

题目:看了题解 备忘梳理下思路

2022-04-12 08:31:50 55

原创 python 集合

集合是python提供的内置数据结构,属于可变序列;集合就是没有value的字典,数据存储和也使用哈希一、集合的创建1、使用花括号创建t={'hello','world'}我们可以看到重复的元素被剔除了,因为与字典一样,key不可以重复2、使用内置函数set()3、定义一个空集合可以看到,创建空集合只能使用set,使用花括号会被识别为字典二、集合的相关操作1、集合元素的判断操作in not in2、集合元素的新增操作 ...

2022-04-10 20:29:52 4979

原创 Python 元组

元组是python的内置数据结构之一,是一个不可变序列定义:t=('python','ooo')与列表很像,列表使用[]定义,元组使用()定义一、元组的创建1、使用小括号(小括号可以省略)2、使用内置函数tuple()3、需要注意的是,当我们的元组中只有一个元素的时候,一定要加逗号,如下例若不加逗号:可以看到即使加了小括号,仍然识别为str类型正确的应该这样写:4、创建空元祖t= ()二、元组的指..

2022-04-10 19:38:18 2441

原创 python 字典

一、什么是字典与列表一样,是一个可变序列;以键值对的方式存储数据,字典是一个无序序列scorse={'hi':100,'hello':200}怎么理解无序呢?例如列表,第一个存的数据肯定在第一个位置;而字典不是,因为在字典存储数据的时候要经过哈希来确定位置;由于是根据键进行哈希,所以我们要求键是个不可变序列(字符串、整数都是不可变序列);二 、字典的创建1、使用花括号创建scorse={'hi':100,'hello':200}2、使用内置函数dict等号左侧是键

2022-04-10 19:14:57 522

原创 Python 列表

列表相当于其他语言的数组一、列表的创建:1、使用中括号跟其他语言不太一样,python里面的列表好像可以存储任何类型的元素,混合在一起也可以2、使用内置函数list获取单个元素的值,直接引用对应下标python里不仅有正索引还有负索引 0 1 2 3s1111 hello 98 9.7-4 -3 -2 -1看如下例子:列表是根据...

2022-04-10 18:17:12 432

原创 python 程序结构

1、python一切皆对象,所有对象都有一个布尔值可以使用bool()函数获取对象的布尔值以下对象的布尔值都是falsefalse数值0None空字符串空列表空元组空字典空集合2、选择结构语法结构:if 条件:执行else:执行示例:可以看到一开始一直报错,去搜了一下:Python中没有分号,用严格的缩进来表示上下级从属关系;缩进完就可以运行了多分支选择结构if 条件1: dosomet...

2022-04-10 12:37:28 666

原创 python 运算符

操作符与c语言不同,python中 /代表除法,会得到实际的结果//代表整除,效果与C语言中的/一样,示例如下:需要注意的是 如果一个正数整除一个负数(或者一个负数整除一个正数),采用的是向下取整规则(如-9//4 = -2.2.... 向下取整为-3);两个同符号的数整除,还为实际结果:取余操作遵循公式 余数 = 被除数(第一个)-除数*商python还有幂运算符 ** 很方便!连续赋值看到一个非常令人震惊的例子......

2022-04-10 00:25:41 104

原创 python 类型转换函数

在python中,当我们将不同类型的数据进行拼接的时候,会报错,如下图ps:+为python中的连接符可以用str()将其他类型转为str类型其他转换函数int() //不可以转换除了纯数字字符以外的字符串float() //不可以转换非数字字符串...

2022-04-09 23:30:57 307

原创 python 字符串的定义

python中,字符串的定义可以用单引号、双引号、三引号定义有区别的是,使用三引号可以换行定义双引号与单引号必须在一行定义例子见下图:

2022-04-09 23:11:16 3822

原创 python学习-float的运算

由于数据在内存中是二进制存储,所以我们在进行浮点数运算的时候会存在误差这时候 我们需要这样进行浮点数运算from decimal import Decimalprint(Decimal('1.1') + Decimal('2.2'))具体例子见下图:...

2022-04-09 23:03:39 863

原创 HJ84 统计大写字母个数

描述找出给定字符串中大写字符(即'A'-'Z')的个数。数据范围:字符串长度:1\le |s|\le 250\1≤∣s∣≤250字符串中可能包含空格或其他字符进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(n)\O(n)输入描述:对于每组样例,输入一行,代表待统计的字符串输出描述:输出一个整数,代表字符串中大写字母的个数示例1输入:A 1 0 1 1150175017(&^%&$vabovbaoadd 123#$%#%#O输出:

2022-04-06 23:34:03 228

原创 HJ46 截取字符串

描述输入一个字符串和一个整数 k ,截取字符串的前k个字符并输出数据范围:字符串长度满足 1 \le n \le 1000 \1≤n≤1000 , 1 \le k \le n \1≤k≤n输入描述:1.输入待截取的字符串2.输入一个正整数k,代表截取的长度输出描述:截取后的字符串示例1输入:abABCcDEF6输出:abABCc示例2输入:bdxPKBhih6输出:bdxPKB代码:#include&

2022-04-06 23:12:29 253

原创 892. 三维形体的表面积

给你一个 n * n 的网格 grid ,上面放置着一些 1 x 1 x 1 的正方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。放置好正方体后,任何直接相邻的正方体都会互相粘在一起,形成一些不规则的三维形体。请你返回最终这些形体的总表面积。注意:每个形体的底面也需要计入表面积中。示例 1:输入:grid = [[1,2],[3,4]]输出:34示例 2:输入:grid = [[1,1,1],[1,0,1],[1,1,1]]

2022-04-06 23:02:46 165

原创 1取近似值

描述写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。数据范围:保证输入的数字在 32 位浮点数范围内输入描述:输入一个正浮点数值输出描述:输出该数值的近似整数值示例1输入:5.5输出:6说明:0.5>=0.5,所以5.5需要向上取整为6 示例2输入:2.499输出:2说明:0.499<0.5,2.499向下取整

2022-04-05 12:22:47 557

原创 字符串分隔

描述•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。输入描述:连续输入字符串(每个字符串长度小于等于100)输出描述:依次输出所有分割后的长度为8的新字符串示例1输入:abc输出:abc00000代码:#include<stdio.h>#include<stdlib.h>#include<string.h>int main()

2022-04-04 13:07:17 69

原创 明明的随机数

描述明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。数据范围: 1 \le n \le 1000 \1≤n≤1000 ,输入的数字大小满足 1 \le val \le 500 \1≤val≤500输入描述:第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。 具体格式可以参考下面的"示例"。输出描述:输出多行,表示输入数据处理后的结果

2022-04-04 12:31:35 2106 1

原创 计算某字符出现次数

描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)数据范围: 1 \le n \le 1000 \1≤n≤1000输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)示例1输入:ABCabcA输出:2代码:#include<stdio.h>#incl..

2022-04-04 10:07:48 962

原创 字符串最后一个单词的长度

题目描述:描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。示例1输入:hello nowcoder输出:8说明:最后一个单词为nowcoder,长度为8 代码:#include<stdio.h>#include<string.h.

2022-04-04 00:35:25 1987

原创 华为2016校园招聘上机笔试题 -- 01

题目描述:老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.输入描述:每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正整数A,B,当C为'Q'的时候, 表示

2022-04-03 20:39:13 132

原创 牛客刷题-反转链表

题目描述:给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。数据范围: 0\leq n\leq10000≤n≤1000要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。如当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。代码段:struct ListNode* ReverseList(struct ListNode* pHead ) {

2022-03-30 19:55:10 1755

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除