杨辉三角II-LeetCode
杨辉三角II 🎯 问题描述(来源于LeetCode) 给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。 💻 代码实现 123456789101112131415class Solution: def getRow(self, rowIndex: int) -> List[int]: n=rowIndex L = [] line=[] for i in range(n+1): line=[] for j in range(i+1): if j==0 or i==j: line.append(1) else : a=L[i-1][j-1]+L[i-1][j] line.append(a) L.append(line) ret...
杨辉三角-LeetCode
杨辉三角 🎯 问题描述(来源于LeetCode) 给定一个非负整数 _numRows,_生成「杨辉三角」的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 💻 代码实现 1234567891011121314class Solution: def generate(self, numRows: int) -> List[List[int]]: n=numRows L = [] for i in range(n): line=[] for j in range(i+1): if j==0 or i==j: line.append(1) else : a=L[i-1][j-1]+L[i-1][j] line.append(a) L.append(line) ...
确认率-LeetCode
确认率 🎯 问题描述(来源于LeetCode) 表: Signups ±---------------±---------+ | Column Name | Type | ±---------------±---------+ | user_id | int | | time_stamp | datetime | ±---------------±---------+ User_id是该表的主键。 每一行都包含ID为user_id的用户的注册时间信息。 表: Confirmations ±---------------±---------+ | Column Name | Type | ±---------------±---------+ | user_id | int | | time_stamp | datetime | | action | ENUM | ±---------------±---------+ (user_id, time_stamp)...
移动零-LeetCode
移动零 🎯 问题描述(来源于LeetCode) 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 💻 代码实现 1234567891011class Solution: def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. """ l=len(nums) for i in range(l-1): d=i+1 while nums[i]==0 and d<l: nums[i],nums[d]=nums[d],nums[i] d+=1 📊 性能分析 提交结果 运行时...
H指数-LeetCode
H指数 🎯 问题描述(来源于LeetCode) 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且 至少 有 h 篇论文被引用次数大于等于 h 。如果 h 有多种可能的值,h 指数 是其中最大的那个。 💻 代码实现 12345678910111213141516171819class Solution: def hIndex(self, citations: List[int]) -> int: l=len(citations) nums=citations count=0 acount=0 h=0 nums.sort() for i in range(l+1): x=i count =i ...
学生们参加各科测试的次数-LeetCode
学生们参加各科测试的次数 🎯 问题描述(来源于LeetCode) 学生表: Students ±--------------±--------+ | Column Name | Type | ±--------------±--------+ | student_id | int | | student_name | varchar | ±--------------±--------+ 在 SQL 中,主键为 student_id(学生ID)。 该表内的每一行都记录有学校一名学生的信息。 科目表: Subjects ±-------------±--------+ | Column Name | Type | ±-------------±--------+ | subject_name | varchar | ±-------------±--------+ 在 SQL 中,主键为 subject_name(科目名称)。 每一行记录学校的一门科目名称。 考试表: Examinations ±-------------±--------+...
最小操作次数使数组元素相等-LeetCode
最小操作次数使数组元素相等 🎯 问题描述(来源于LeetCode) 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 💻 代码实现 初始思路 123456789101112class Solution: def minMoves(self, nums: List[int]) -> int: l=len(nums) acount=0 d=max(nums)-min(nums) while d!=0: d=max(nums)-min(nums) nums.sort() for i in range(l-1): nums[i]+=d acount+=d return acount 优化后 123456789class Solution: def minMoves(self, nums: List[int]) -> int: l=len(nums) acount=0 d=min...
至少有5名直接下属的经理-LeetCode
至少有5名直接下属的经理 🎯 问题描述(来源于LeetCode) 表: Employee ±------------±--------+ | Column Name | Type | ±------------±--------+ | id | int | | name | varchar | | department | varchar | | managerId | int | ±------------±--------+ id 是此表的主键(具有唯一值的列)。 该表的每一行表示雇员的名字、他们的部门和他们的经理的id。 如果managerId为空,则该员工没有经理。 没有员工会成为自己的管理者。 编写一个解决方案,找出至少有五个直接下属的经理。 以 任意顺序 返回结果表。 💻 代码实现 1234567# Write your MySQL query statement belowSELECT t2.nameFROM Employee t1JOIN Employee t2ON t1.managerId=t...
非递减数列-LeetCode
非递减数列 🎯 问题描述(来源于LeetCode) 给你一个长度为 n 的整数数组 nums ,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 💻 代码实现 1234567891011121314class Solution: def checkPossibility(self, nums: List[int]) -> bool: l=len(nums) count=0 for i in range(1,l): if nums[i]<nums[i-1] : count+=1 if i == 1 or nums[i] >= nums[i - 2]: nums[i - 1] = nums[i] ...
顺序队列
顺序队列 基本概念 数据结构的三要素 逻辑结构 线性结构 存储结构 顺序存储 数据的运算 费曼理解 队列就是排队,先进来的就可以先出去 内部实现: 12345define MaxSize 10;typedef struct { ElemType data[MaxSize]; int front,rear;}SqQueue; 复杂度分析: 初始化 1234void InitQueue(SqQueue &Q){ Q.front=0; Q.rear=0;} 判断队列是否为空 123456bool QueueEmpty(SqQueue &Q){ if(Q.front==Q.rear) return true; else return false;} 入队 12345678bool EnQueue(SqQueue &Q,ElemType e){ //边界判断 if(Q.rear-Q.front==MaxSize{ return false; ...













