![](https://img-blog.csdnimg.cn/20210912090411910.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
学习记录
记录学习sql,python的难点和自己的理解
2023好运来
这个作者很懒,什么都没留下…
展开
-
牛客网学习笔记——中等题(动态规划)
HJ52 计算字符串的编辑距离HJ65 查找两个字符串a,b中的最长公共子串原创 2022-03-30 11:43:07 · 211 阅读 · 0 评论 -
牛客网学习笔记——中等题们
HJ63 DNA序列def find(s): re = 0 for i in range(len(s)): if s[i] == 'G' or s[i] == 'C': re += 1 return re while True: try: s = input() n = int(input()) re = 0 res = '' for i原创 2022-03-29 11:11:28 · 200 阅读 · 0 评论 -
牛客网学习笔记——中等题(计算题)
HJ50 四则运算HJ55 挑7HJ57 高精度整数加法原创 2022-03-28 10:20:56 · 857 阅读 · 0 评论 -
牛客网学习笔记——中等题(动态规划)
HJ103 Redraiment的走法原创 2022-03-27 15:59:01 · 135 阅读 · 0 评论 -
牛客网学习笔记——中等题(求解立方根)
HJ107 求解立方根原创 2022-03-27 11:30:40 · 405 阅读 · 0 评论 -
牛客网学习笔记——中等题
HJ41 称砝码HJ45 名字的漂亮度原创 2022-03-26 15:57:53 · 214 阅读 · 1 评论 -
牛客网学习笔记——中等题(字符串)
HJ33 整数与IP地址间的转换HJ36 字符串加密原创 2022-03-26 10:59:19 · 206 阅读 · 0 评论 -
牛客网学习笔记——中等题们(字符串)
HJ27 查找兄弟单词l = list(input().split())list = l[1:-2]k = int(l[-1])k2 = l[-2]re = []for i in range(len(list)): if list[i] == k2 or len(k2) != len(list[i]): continue elif sorted(list[i]) == sorted(k2): re.append(list[i])print(l原创 2022-03-25 17:39:58 · 211 阅读 · 0 评论 -
牛客网学习笔记——中等题们(字符串)
HJ20 密码验证合格程序def check(s): if len(s) <= 8: return 0 la =lA = l1 = l_ = 0 for i in range(len(s)): if 'a' <= s[i] <= 'z': la = 1 elif 'A' <= s[i] <= 'Z': lA = 1 elif '0' &l原创 2022-03-24 16:08:58 · 478 阅读 · 0 评论 -
牛客网学习笔记——中等题们(背包问题)
HJ16 购物单加了一个条件,必须要有主件才能采购附件,先把主件和附件组合在一起,再按照背包法来处理n,m = map(int,input().split())zj = {}fj = {}for i in range(m): q, v, z = map(int, input().split()) if z == 0: id = i+ 1 zj[id] = [q, v] else: if z in fj:原创 2022-03-24 11:53:52 · 203 阅读 · 0 评论 -
牛客网学习笔记——中等题们
我果然还是太菜了HJ17 坐标移动描述开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。输入:合法坐标为A(或者D或者W或者S) + 数字(两位以内)坐标之间以;分隔。非法坐标点需要进行丢弃。如AA10; A1A; %; YAD; 等。下面是一个简单的例子 如:A10;S20;W10;D30;X;A1A;B10A11;;A10;处理过程:起点(0,0)A1原创 2022-03-23 18:53:22 · 224 阅读 · 0 评论 -
牛客网学习笔记——简单题们(三)
边写题边感受世界的参差,我也不知道自己在干什么了,简单题都这样了还有机会过笔试吗?HJ80 整型数组合并描述题目标题:将两个整型数组按照升序合并,并且过滤掉重复数组元素。输出时相邻两数之间没有空格。输入描述:输入说明,按下列顺序输入:1 输入第一个数组的个数2 输入第一个数组的数值3 输入第二个数组的个数4 输入第二个数组的数值输出描述:输出合并之后的数组示例1输入: 3 1 2 5 4 -1 0 3 2输出: -101235我写的,明明用了排序函数,原创 2022-03-23 12:08:23 · 1407 阅读 · 0 评论 -
牛客网学习笔记——简单题们(二)
HJ22 汽水瓶描述某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。数据范围:输入的正整数满足 1 \le n \le 100 \1≤n≤100注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。输入描述:输入文件最多包含 10 组测试数据,每个数据占一行,仅包含一个正整数 n( 1<=n<=100 ),表示小张手上的空汽水瓶数。n=0 表示输入结束,你的程序不应当处理这一行。原创 2022-03-22 18:23:42 · 1123 阅读 · 0 评论 -
牛客网学习笔记——简单题们(一)
记一下忘记的python内置函数,方便之后复习啊!!!!HJ5 进制转换描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。输入描述:输入一个十六进制的数值字符串。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。示例1输入:0xAA输出:170number = input()[2:]dic = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9,'A':10,'B':11,'C':12,原创 2022-03-22 15:37:18 · 1191 阅读 · 0 评论 -
牛客网学习笔记——归并排序
归并排序描述请编程实现一个整型数组的归并排序。本题会人工判断,请严格按照题目描述完成输入描述:一个无序的整型数组,输入格式见输入样例输出描述:一个有序的整型数组,输出格式见输出样例示例1输入:[3, 1, 4, 5, 17, 2, 12]输出:[1, 2, 3, 4, 5, 12, 17]x = list(map(int,input().strip('[').strip(']').split(',')))def rank(x): if len(x) <= 1:原创 2022-03-22 08:59:48 · 129 阅读 · 0 评论 -
牛客网学习笔记——计算某字符出现次数
还是读入出了错,我好像个大傻子HJ2 计算某字符出现次数描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)数据范围: 1 \le n \le 1000 \1≤n≤1000输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)示例1输入:ABCabcA输出:2我写的s = input()k = input()r原创 2022-03-21 18:50:38 · 802 阅读 · 0 评论 -
牛客网学习笔记——读入数据
没想到写题我竟然无法把数据正确的读进去,记一下啊原创 2022-03-21 18:44:55 · 148 阅读 · 0 评论 -
leetcode学习笔记——二叉树的所有路径
257. 二叉树的所有路径给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。示例 1:输入:root = [1,2,3,null,5]输出:[“1->2->5”,“1->3”]示例 2:输入:root = [1]输出:[“1”]提示:树中节点的数目在范围 [1, 100] 内-100 <= Node.val <= 100来源:力扣(LeetCode)链接:https://leetcode-原创 2022-03-16 17:22:38 · 140 阅读 · 0 评论 -
Leetcode学习笔记——平衡二叉树
110. 平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。示例 1:输入:root = [3,9,20,null,null,15,7]输出:true示例 2:输入:root = [1,2,2,3,3,null,null,4,4]输出:false示例 3:输入:root = []输出:true提示:树中的节点数在范围 [0, 5000] 内-104 <= Node.val原创 2022-03-16 17:12:54 · 97 阅读 · 0 评论 -
leetcode学习笔记——对称二叉树(101/100/572)
leetcode学习笔记——对称二叉树对应题目:101,100,572原创 2022-03-15 09:58:21 · 598 阅读 · 0 评论 -
leetcode学习笔记——翻转二叉树(226)
226. 翻转二叉树层序遍历 + 翻转class Solution: def invertTree(self, root: TreeNode) -> TreeNode: if not root: return root temps = [root] while temps: temp = [] for i in range(len(temps)):原创 2022-03-14 17:32:40 · 604 阅读 · 0 评论 -
leetcode学习笔记——层序遍历(429,515,116,104,111)
429. N 叉树的层序遍历"""# Definition for a Node.class Node: def __init__(self, val=None, children=None): self.val = val self.children = children"""class Solution: def levelOrder(self, root: 'Node') -> List[List[int]]: if原创 2022-03-14 16:08:06 · 82 阅读 · 0 评论 -
leetcode学习笔记——二叉树的层序遍历(102,199,637)
层遍历原创 2022-03-14 15:24:29 · 372 阅读 · 0 评论 -
leetcode学习笔记——二叉树遍历方式(144,145,94)
递归法144. 二叉树的前序遍历# 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 preorderTraversal(sel原创 2022-03-14 15:24:16 · 406 阅读 · 0 评论 -
leetcode学习笔记(移除元素-C)
27. 移除元素看视频不如自己练一练啊,看完总是忘,熟悉一下怎么写用while循环写一下int removeElement(int* nums, int numsSize, int val){ int left = 0; int right = 0; while(right < numsSize){ if(nums[right] != val){ nums[left] = nums[right]; lef原创 2022-01-28 12:00:37 · 944 阅读 · 0 评论 -
leetcode学习笔记(最接近的三数之和)
16. 最接近的三数之和笨方法-超时了class Solution: def threeSumClosest(self, nums: List[int], target: int) -> int: re = [] for i in range(len(nums)): s = nums[i] for j in range(i+1,len(nums)): for k in range原创 2021-12-19 10:58:41 · 169 阅读 · 0 评论 -
leetcode学习笔记(盛最多水的容器)
11. 盛最多水的容器笨方法class Solution: def maxArea(self, height: List[int]) -> int: l = 0 r = len(height) - 1 re = [] while l < r: h = min(height[l], height[r]) re.append(h * (r-l)) i原创 2021-12-19 10:14:15 · 76 阅读 · 0 评论 -
leetcode学习笔记(翻转图像)
832. 翻转图像class Solution: def flipAndInvertImage(self, image: List[List[int]]) -> List[List[int]]: re = [] for i in image: re1 = [] c = i.copy() n = len(i) k = n - 1 for j原创 2021-12-18 16:26:35 · 584 阅读 · 0 评论 -
leetcode学习笔记(数组中最大数对和的最小值)
1877. 数组中最大数对和的最小值原始解法class Solution: def minPairSum(self, nums: List[int]) -> int: nums.sort() re = [] i = 0 j = len(nums) - 1 while i < j: re.append(nums[i] + nums[j]) i += 1原创 2021-12-18 16:04:51 · 186 阅读 · 0 评论 -
leetcode学习笔记( 好数对的数目)
1512. 好数对的数目原始解法class Solution: def numIdenticalPairs(self, nums: List[int]) -> int: n = len(nums) r = 0 for i in range(n): for j in range(i+1,n): if nums[i] == nums[j]: r +=原创 2021-12-18 10:45:22 · 68 阅读 · 0 评论 -
leetcode学习笔记(多数元素)
169. 多数元素最笨的方法class Solution: def majorityElement(self, nums: List[int]) -> int: map = {} re = [] for i in nums: if i in map: map[i] += 1 else: map[i] = 1原创 2021-12-18 10:24:47 · 70 阅读 · 0 评论 -
leetcode学习笔记(字符串中的所有变位词)
438.字符串中的所有变位词我觉得可以,但是超时了class Solution: def findAnagrams(self, s: str, p: str) -> List[int]: s = list(s) p = list(p) l = len(p) res = [] for i in range(len(s)): m = 0 k = s[i:i+l]原创 2021-12-12 20:21:44 · 437 阅读 · 0 评论 -
leetcode学习笔记(长度为三且各字符不同的子字符串)
1876.长度为三且各字符不同的子字符串 def countGoodSubstrings(self, s): """ :type s: str :rtype: int """ n = 0 for i in range(len(s)-2): if s[i] != s[i+1] and s[i+1] != s[i+2] and s[i] != s[i+2]:原创 2021-12-12 16:44:32 · 141 阅读 · 0 评论 -
leetcode学习笔记(搜索旋转排序数组)
33. 搜索旋转排序数组法一class Solution: def search(self, nums: List[int], target: int) -> int: for i in range(len(nums)): if nums[i] == target: return i return -1法二(二分法)因为是经过旋转的数组,和排好序的数组不一样;找到mid数时,比较0和mi原创 2021-12-05 21:19:14 · 334 阅读 · 0 评论 -
leetcode学习笔记(找出数组排序后的目标下标)
2089. 找出数组排序后的目标下标法一:class Solution: def targetIndices(self, nums: List[int], target: int) -> List[int]: nums.sort() result = [] for i in range(len(nums)): if nums[i] == target: result.append(i)原创 2021-12-05 19:35:50 · 647 阅读 · 0 评论 -
leetcode学习笔记(连续数列)
面试题 16.17. 连续数列class Solution(object): def maxSubArray(self, nums): dp = nums n = len(nums) for i in range(1,n): dp[i] = max(dp[i-1]+nums[i], nums[i]) return max(dp)原创 2021-12-01 17:59:12 · 396 阅读 · 0 评论 -
leetcode学习笔记(获取生成数组中的最大值)
1646. 获取生成数组中的最大值class Solution(object): def getMaximumGenerated(self, n): if n == 0: return 0 nums = [0] * (n+1) nums[1] = 1 for i in range(2,n+1): if i % 2 == 0: nums[i] = num原创 2021-11-29 19:51:46 · 82 阅读 · 0 评论 -
leetcode学习笔记(传递信息)
LCP 07. 传递信息dp[i][j]表示第i次传递时j号同学收到消息的方案数,因为都是从0开始到n-1结束,所以dp[-1][-1]就是到n-1号的方案数class Solution(object): def numWays(self, n, relation, k): dp = [[0]*n for i in range(k+1)] dp[0][0] = 1 for i in range(1,k+1): for r原创 2021-11-29 19:37:22 · 229 阅读 · 0 评论 -
leetcode学习笔记( 统计字典序元音字符串的数目)
1641. 统计字典序元音字符串的数目class Solution: def countVowelStrings(self, n: int) -> int: a = [[1,1,1,1,1]] * n for i in range(1,n): a[i][1] = a[i-1][0] + a[i-1][1] a[i][2] = a[i][1] + a[i-1][2] a[i][3] = a原创 2021-11-28 15:45:34 · 63 阅读 · 0 评论 -
leetcode学习笔记(下载插件)
LCS 01. 下载插件找到所有可能的插件安装方案,把各方案时间保存在列表里。class Solution(object): def leastMinutes(self, n): way = 1 t = 0 time = [] while way <= n: k = int(ceil(float(n)/way)) time.append(k+t) t原创 2021-11-29 19:02:22 · 149 阅读 · 0 评论