当前位置: 首页 > news >正文

Python解力扣算法题(六)(详解+注释)

# 1.学校打算为全体学生拍一张年度纪念照。根据要求,学生需要按照 非递减 的高度顺序排成一行。
# 排序后的高度情况用整数数组 expected 表示,其中 expected[i] 是预计排在这一行中第 i 位的学生的高度(下标从 0 开始)。
# 给你一个整数数组 heights ,表示 当前学生站位 的高度情况。heights[i] 是这一行中第 i 位学生的高度(下标从 0 开始)。
# 返回满足 heights[i] != expected[i] 的 下标数量 。
  1. heightChecker函数
    • 解释
      • 这个函数的目的是计算当前学生站位高度数组heights与按照非递减顺序排序后的高度数组中元素不相等的下标数量。
      • 首先,需要创建heights的副本pre_heights,因为直接使用pre_heights = heights只是创建了引用,对heights排序时pre_heights也会改变。这里使用切片pre_heights = heights[:]创建了副本。
      • 然后对heights进行排序,再通过遍历比较heightspre_heights中相同下标的元素,如果不相等则将计数变量count加1。最后返回count
def heightChecker(heights):# 创建heights的副本,这里使用切片操作pre_heights = heights[:]# 对heights进行排序heights.sort()count = 0for i in range(len(heights)):# 如果排序后的heights和原始的pre_heights在相同下标处元素不相等if heights[i]!= pre_heights[i]:count += 1return countprint(heightChecker([1, 1, 4, 2, 1, 3]))
# 2.复写0,列表长度不变
  1. duplicateZeros函数
    • 解释
      • 这个函数的目的是对输入的数组arr进行复写0的操作,即如果数组中的元素为0,则在该元素后面插入一个0,同时要保证数组长度不变。
      • 使用一个变量i来遍历数组arr,同时记录数组的长度length。在遍历过程中,如果i等于length,说明已经遍历到了原数组的末尾(因为插入操作可能会使数组变长),此时将数组截断为i个元素。如果当前元素为0,则在i + 1的位置插入一个0,并且将i加1(因为插入了一个元素),最后i加1继续下一轮遍历。最后返回处理后的数组arr
def duplicateZeros(arr):i = 0length = len(arr)while i < len(arr):# 如果i等于数组长度,说明已经到了原数组末尾(考虑插入后的情况)if i == length:arr = arr[:i]break# 如果当前元素为0,则在i+1位置插入一个0if arr[i] == 0:arr.insert(i + 1, 0)i += 1i += 1return arrprint(duplicateZeros([1, 0, 2, 3, 0, 4, 5, 0]))
# 3.求第N个泰波那契数   Tn+3=Tn+Tn+1+Tn+2
  1. tribonacci函数
    • 解释
      • 这个函数用于计算第n个泰波那契数。泰波那契数的定义是Tn+3=Tn+Tn+1+Tn+2,初始值为[0, 1, 1]
      • 首先创建一个包含初始值的数组arr = [0, 1, 1],然后通过循环n - 2次,每次将前三个数的和添加到数组中,最后返回数组中第n个元素。
def tribonacci(n):arr = [0, 1, 1]# 循环计算泰波那契数,从第3个开始for i in range(0, n - 2):arr.append(arr[i]+arr[i + 1]+arr[i + 2])return arr[n]print(tribonacci(25))
# 4.给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。
# 输入为三个整数:day、month 和 year,分别表示日、月、年。
# 您返回的结果必须是这几个值中的一个 {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}。# 为了解决这个问题,我们可以使用蔡勒公式(Zeller's Congruence),这是一个用于计算格里高利历(公历)中任意日期是星期几的有效算法。
# 其中:# h是星期几(0 = Saturday, 1 = Sunday, 2 = Monday, ..., 6 = Friday)# q是月份中的日(1to31)# m是月(3 = March, 4 = April, ..., 12 = December;1 = March, 2 = April, ..., 10 = December, 11 = January, 12 = February)# K是年份中的最后两位数# J是年份中的前两位数
# 由于蔡勒公式中的月份是从3月开始的,所以如果输入的月份是1月或2月,需要将月份加上12,并将年份减1。
# 注意:蔡勒公式适用于1583年(格里高利历改革的那一年)以后的日期。对于更早的日期,需要使用其他公式或历史日历规则。
  1. dayOfTheWeek函数
    • 解释
      • 这个函数使用蔡勒公式(Zeller's Congruence)来计算给定日期(daymonthyear)是星期几。
      • 由于蔡勒公式中的月份是从3月开始的,如果输入的月份是1月或2月,需要将月份加上12,并将年份减1。然后根据蔡勒公式计算出h(星期几的索引,0 = Saturday, 1 = Sunday, 2 = Monday,..., 6 = Friday),最后根据索引从星期的字符串数组days中返回对应的星期字符
def dayOfTheWeek(day, month, year):# 如果月份小于3,按照蔡勒公式的要求进行调整if month < 3:month += 12year -= 1q = daym = monthK = year % 100J = year // 100# 蔡勒公式计算星期几的索引hh = (q+(13*(m + 1))//5+K+K//4+J//4 - 2*J)%7days = ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]return days[h]print(dayOfTheWeek(day = 31, month = 8, year = 2019))
# 5.给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。
# 字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。
  1. maxNumberOfBalloons函数
    • 解释
      • 这个函数用于计算给定字符串text中可以拼凑出单词“balloon”的最大数量。
      • 通过字典{'b': 1, 'a': 1, 'l': 2, 'o': 2, 'n': 1}定义了组成“balloon”每个字母的需求数量,然后使用字典推导式和min函数,计算每个字母在text中出现的次数除以需求数量的最小值,这个最小值就是可以拼凑出的最大单词数量。
def maxNumberOfBalloons(text):# 计算每个字母在text中的数量与组成balloon所需数量的比例的最小值return min(text.count(key)//val for key, val in {'b': 1, 'a': 1, 'l': 2, 'o': 2, 'n': 1}.items())print(maxNumberOfBalloons("loonbalxballpoon"))
# 6.给你个整数数组 arr,其中每个元素都 不相同。
# 请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。
# 每对元素对 [a,b] 如下:
# a , b 均为数组 arr 中的元素
# a < b
# b - a 等于 arr 中任意两个元素的最小绝对差
  1. minimumAbsDifference函数
    • 解释
      • 这个函数的目的是在给定的整数数组arr中找到所有具有最小绝对差的元素对,并按升序返回。
      • 首先对数组arr进行排序,然后初始化最小差值min_diff为数组中最大元素与最小元素的差值。接着遍历数组,计算相邻元素的差值diff,如果diff小于min_diff,则更新min_diff并重新初始化pairs为包含当前元素对的列表;如果diff等于min_diff,则将当前元素对添加到pairs中。最后返回pairs
def minimumAbsDifference(arr):arr.sort()# 先排序min_diff = arr[len(arr)-1]-arrpairs = []# 计算最小差值并找到对应的元素对for i in range(len(arr)-1):diff = arr[i + 1]-arr[i]if diff < min_diff:min_diff = diffpairs = [[arr[i], arr[i + 1]]]elif diff == min_diff:pairs.append([arr[i], arr[i + 1]])return pairsprint(minimumAbsDifference([4, 2, 1, 3]))
# 7.给你一个整数数组 arr,如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。
  1. uniqueOccurrences函数
    • 解释
      • 这个函数用于判断整数数组arr中每个数的出现次数是否都是独一无二的。
      • 首先创建一个集合arr1,它包含数组arr中的所有不同元素。然后创建一个空列表list1,遍历arr1中的每个元素,计算其在arr中的出现次数并添加到list1中。对list1进行排序后,再遍历list1,如果有相邻元素相等,则返回False,否则返回True
def uniqueOccurrences(arr):arr1 = set(arr)list1 = []for i in arr1:list1.append(arr.count(i))list1.sort()for i in range(len(list1)-1):if list1[i] == list1[i + 1]:return Falsereturn Trueprint(uniqueOccurrences([1, 2]))
# 8. n 个筹码。第 i 个筹码的位置是 position[i] 。
# 我们需要把所有筹码移到同一个位置。在一步中,我们可以将第 i 个筹码的位置从 position[i] 改变为:
# position[i] + 2 或 position[i] - 2 ,此时 cost = 0
# position[i] + 1 或 position[i] - 1 ,此时 cost = 1
# 返回将所有筹码移动到同一位置上所需要的 最小代价 。
# 因为我们的目标是最后将全部的「筹码」移动到同一个位置,那么最后的位置只有两种情况:
# 移动到某一个偶数位置,此时的开销最小值就是初始奇数位置「筹码」的数量。
# 移动到某一个奇数位置,此时的开销最小值就是初始偶数位置「筹码」的数量。
# 那么这两种情况中的最小值就是最后将所有筹码移动到同一位置上所需要的最小代价。
  1. minCostToMoveChips函数
    • 解释
      • 这个函数的目的是计算将所有筹码移动到同一位置上所需要的最小代价。
      • 由于移动到某一个偶数位置的开销最小值就是初始奇数位置筹码的数量,移动到某一个奇数位置的开销最小值就是初始偶数位置筹码的数量,所以使用Counter统计数组position中元素模2后的余数的个数,最后返回余数为0和余数为1的个数中的最小值。
from collections import Counterdef minCostToMoveChips(position):cnt = Counter(p % 2 for p in position)return min(cnt, cnt[1])print(minCostToMoveChips([1, 2, 2, 2, 2, 3, 3]))
# 9.平衡字符串 中,'L' 和 'R' 字符的数量是相同的。
# 给你一个平衡字符串 s,请你将它分割成尽可能多的子字符串,并满足:
# 每个子字符串都是平衡字符串。
# 返回可以通过分割得到的平衡字符串的 最大数量 。
  1. balancedStringSplit函数
    • 解释
      • 这个函数用于将平衡字符串s(其中'L'和'R'字符的数量是相同的)分割成尽可能多的子字符串,且每个子字符串都是平衡字符串,返回可以得到的平衡字符串的最大数量。
      • 使用变量count来记录'R'和'L'字符数量的差值,ans用于记录平衡字符串的数量。遍历字符串s,如果遇到'R'则count加1,如果遇到'L'则count减1,当count等于0时,说明找到了一个平衡字符串,ans加1。最后返回ans
def balancedStringSplit(s):count = 0ans = 0for i in s:if i == "R":count += 1elif i == "L":count -= 1if count == 0:ans += 1return ansprint(balancedStringSplit("RLRRLLRLRL"))
# 10.数字的每一位相乘的积减去数字每一位相加的和的结果
  1. subtractProductAndSum函数
  • 解释
    • 这个函数用于计算数字n的每一位相乘的积减去数字每一位相加的和的结果。
    • 首先将数字n转换为字符串,然后初始化两个变量sum1为1(用于乘积)和sum2为0(用于求和),遍历字符串中的每个字符,将其转换为整数后分别进行乘积和求和操作,最后返回sum1 - sum2
def subtractProductAndSum(n):n = str(n)sum1 = 1sum2 = 0for i in range(len(n)):sum1 *= int(n[i])sum2 += int(n[i])return sum1 - sum2print(subtractProductAndSum(234))
# 11.给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。
# 请你找到并返回这个整数
  1. findSpecialInteger函数
  • 解释
    • 这个函数用于在非递减的有序整数数组arr中找到出现次数超过数组元素总数的25%的那个整数。
    • 首先创建一个集合arr1,它包含数组arr中的所有不同元素。然后遍历arr1中的每个元素,计算其在arr中的出现次数与数组长度的比例,如果大于0.25,则返回该元素。
def findSpecialInteger(arr):arr1 = set(arr)for i in arr1:if arr.count(i)/len(arr)>0.25:return iprint(findSpecialInteger([1, 2, 2, 6, 6, 6, 6, 7, 10]))
# 12.给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。
  1. findNumbers函数
  • 解释
    • 这个函数用于返回整数数组nums中位数为偶数的数字的个数。
    • 遍历数组nums中的每个元素,将其转换为字符串,如果字符串的长度为偶数,则将计数变量double加1,最后返回double
def findNumbers(nums):double = 0for i in nums:i = str(i)if len(i)%2 == 0:double += 1return doubleprint(findNumbers([555, 901, 482, 1771]))
# 13.给你一个以行程长度编码压缩的整数列表 nums 。
# 考虑每对相邻的两个元素 [freq, val] = [nums[2*i], nums[2*i+1]] (其中 i >= 0 ),
# 每一对都表示解压后子列表中有 freq 个值为 val 的元素,你需要从左到右连接所有子列表以生成解压后的列表。
  • 解释
    • 这个函数的目的是对以行程长度编码压缩的整数列表nums进行解压。行程长度编码的规则是每对相邻的两个元素[freq, val] = [nums[2*i], nums[2*i + 1]](其中i >= 0)表示解压后子列表中有freq个值为val的元素,需要从左到右连接所有子列表以生成解压后的列表。
    • 通过遍历nums列表,当索引i为奇数时(因为行程长度编码是成对的,偶数位置是频率,奇数位置是值),根据前面偶数位置(i - 1)表示的频率,将当前奇数位置的值重复添加到结果列表list1中。最后返回list1
def decompressRLElist(nums):list1 = []for i in range(len(nums)):if i % 2 == 1:# 根据前面偶数位置的频率,将当前奇数位置的值重复添加到结果列表for j in range(nums[i - 1]):list1.append(nums[i])return list1print(decompressRLElist([1, 2, 3, 4]))
# 14.给你一个仅由数字 6 和 9 组成的正整数 num。
# 你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 。
# 请返回你可以得到的最大数字。
  1. maximum69Number函数
  • 解释
    • 这个函数用于在仅由数字6和9组成的正整数num中,最多翻转一位数字(将6变成9,或者把9变成6)以得到最大数字。
    • 首先将数字num转换为字符串,再转换为列表,这样就可以修改其中的字符。然后从左到右遍历这个列表,如果遇到数字6,将其变为9后直接返回转换回整数后的结果(因为要得到最大数字,所以遇到6就变9后返回即可)。如果没有遇到6,说明数字本身就是最大的情况,直接将列表转换回整数并返回。
def maximum69Number (num):num = str(num)num = list(num)for i in range(len(num)):if num[i] == "6":num[i] = "9"return int(''.join(num))return int(''.join(num))print(maximum69Number(9996))
# 15.给你一个字符串 s,它仅由字母 'a' 和 'b' 组成。每一次删除操作都可以从 s 中删除一个回文 子序列。
# 返回删除给定字符串中所有字符(字符串为空)的最小删除次数。
# 「子序列」定义:如果一个字符串可以通过删除原字符串某些字符而不改变原字符顺序得到,那么这个字符串就是原字符串的一个子序列。
# 「回文」定义:如果一个字符串向后和向前读是一致的,那么这个字符串就是一个回文。
  1. removePalindromeSub函数
  • 解释
    • 这个函数用于计算删除仅由字母'a'和'b'组成的字符串s中所有字符(使字符串为空)的最小删除次数。
    • 因为字符串只由'a'和'b'组成,并且每次可以删除一个回文子序列。如果字符串本身就是回文串,那么只需要删除一次就可以使字符串为空;如果字符串不是回文串,那么最多需要两次,一次删除所有的'a'(这是一个回文子序列),一次删除所有的'b'(这也是一个回文子序列)。通过判断字符串是否等于其逆序字符串来确定是否为回文串,然后返回相应的结果。
def removePalindromeSub(s):return 1 if s == s[::-1] else 2print(removePalindromeSub("aaabbb"))

相关文章:

Python解力扣算法题(六)(详解+注释)

# 1.学校打算为全体学生拍一张年度纪念照。根据要求&#xff0c;学生需要按照 非递减 的高度顺序排成一行。 # 排序后的高度情况用整数数组 expected 表示&#xff0c;其中 expected[i] 是预计排在这一行中第 i 位的学生的高度&#xff08;下标从 0 开始&#xff09;。 # 给你一…...

【C++】继承和多态常见的面试问题

文章目录 继承笔试面试题1. 什么是菱形继承&#xff1f;菱形继承的问题是什么&#xff1f;2. 什么是菱形虚拟继承&#xff1f;如何解决数据冗余和二义性&#xff1f;3. 继承和组合的区别&#xff1f;什么时候用继承&#xff1f;什么时候用组合&#xff1f; 选择题 多态概念考察…...

入门网络安全工程师要学习哪些内容(详细教程)

&#x1f91f; 基于入门网络安全/黑客打造的&#xff1a;&#x1f449;黑客&网络安全入门&进阶学习资源包 大家都知道网络安全行业很火&#xff0c;这个行业因为国家政策趋势正在大力发展&#xff0c;大有可为!但很多人对网络安全工程师还是不了解&#xff0c;不知道网…...

【游戏引擎之路】登神长阶(十二)——DirectX11教程:If you‘re going through hell, keep going!

【游戏引擎之路】登神长阶&#xff08;十二&#xff09;——DirectX11教程&#xff1a;If youre going through hell, keep going! 2024年 5月20日-6月4日&#xff1a;攻克2D物理引擎。 2024年 6月4日-6月13日&#xff1a;攻克《3D数学基础》。 2024年 6月13日-6月20日&#x…...

Python列表(一图秒了)

一、概念 所谓的列表是由一些列按照顺序存储的元素组成&#xff0c;区别于C语言中的数组&#xff0c;可以存储多种类型的数据&#xff0c;其中元素之间是没有任何关系的。 注意&#xff1a; 元素放在[]里面的&#xff0c;多个元素之间用 逗号 隔开列表的元素可以修改 定义 …...

雷池社区版 7.1.0 LTS 发布了

LTS&#xff08;Long Term Support&#xff0c;长期支持版本&#xff09;是软件开发中的一个概念&#xff0c;表示该版本将获得较长时间的支持和更新&#xff0c;通常包含稳定性、性能改进和安全修复&#xff0c;但不包含频繁的新特性更新。 作为最受欢迎的社区waf&#xff0c…...

推荐一款功能强大的数据库开发管理工具:SQLite Expert Pro

SQLite Expert Professional是一个功能强大的工具&#xff0c;旨在简化SQLite3数据库的开发。 它是SQLite的一个功能丰富的管理和开发工具&#xff0c;旨在满足所有用户从编写简单SQL查询到开发复杂数据库的需求。 图形界面支持所有SQLite功能。 它包括一个可视化查询构建器&a…...

动态规划 之 路径问题 算法专题

一. 不同路径 不同路径 状态表示 dp[i][j] 表示走到[i][j]位置, 有几种不同的路径状态转移方程 以离[i][j] 最近的位置划分问题 1.从[i - 1][j] 到[i][j], 到[i][j]位置的不同路径数 就是和 到[i - 1][j]位置的不同路径数相同, 即dp[i][j] dp[i - 1][j] 2.从[i][j - 1] 到[i…...

从office套件接入GPT4谈自动化测试的前景

微软前几天发布了集成了GPT-4模型的office套件&#xff0c;从演示视频看&#xff0c;大概可以做这样一些事情 输入指令自动做表输入指令写邮件输入指定自动做ppt&#xff0c;而且一做就是好多页&#xff0c;挺震撼的 稍微了解了一下原理&#xff0c;大概流程是 用户发送prom…...

CentOS操作系统安装过程简介

以下是在CentOS&#xff08;以CentOS 7为例&#xff09;中使用Anaconda安装器的一般步骤&#xff1a; 1. 准备工作 - 首先&#xff0c;需要获取CentOS 7的安装介质&#xff0c;可以是光盘或者制作好的USB启动盘。然后将计算机设置为从对应的安装介质启动。 2. 启动安装程序 -…...

基于Multisim光控夜灯LED电路(含仿真和报告)

【全套资料.zip】光控夜灯LED电路设计Multisim仿真设计数字电子技术 文章目录 功能一、Multisim仿真源文件二、原理文档报告资料下载【Multisim仿真报告讲解视频.zip】 功能 1.采用纯数字电路&#xff0c;非单片机。 2.通过检测周围光线&#xff0c;光线暗且有声音时自动开灯…...

导师双选系统开发:Spring Boot技术详解

第一章 绪论 1.1 选题背景 如今的信息时代&#xff0c;对信息的共享性&#xff0c;信息的流通性有着较高要求&#xff0c;尽管身边每时每刻都在产生大量信息&#xff0c;这些信息也都会在短时间内得到处理&#xff0c;并迅速传播。因为很多时候&#xff0c;管理层决策需要大量信…...

双11花了“一部手机钱”买手机壳的年轻人,究竟在买什么?

【潮汐商业评论/原创】 这个双十一&#xff0c;Elsa在天猫多了一笔新支出——手机壳。和大家都熟悉的“义乌制造”不同的是&#xff0c;她的手机壳支出单件就已经到了500块&#xff0c;加上配套的手机链、支架、卡包、耳机壳&#xff0c;总共1000多元&#xff0c;足够买一部学…...

rediss数据结构及其底层实现

Redis 是一个基于内存的高性能键值对数据库&#xff0c;它支持多种数据结构&#xff0c;每种数据结构都有其特定的底层实现。以下是Redis中一些主要数据结构及其底层实现&#xff1a; 字符串&#xff08;String&#xff09;&#xff1a; Redis的字符串类型使用简单动态字符串&a…...

自动化测试中使用Pytest Fixture?推荐10种常见用法!

Pytest 是一个功能强大的 Python 测试框架&#xff0c;其中的Fixture 是 Pytest 中的一个重要功能。它允许你设置一些特定的测试环境或准备测试数据&#xff0c;这些环境和数据可以在多个测试用例中重复使用。通过使用fixture&#xff0c;你可以避免在每个测试函数中编写重复的…...

Spring中的ConversionService,为Spring提供数据转换服务

在Spring中经常需要各种数据类型之间进行转换&#xff0c;比如配置文件中的数据转换为代码所需要的数据类型&#xff0c;在使用SpringMvc的时候&#xff0c;将前台传来的参数自动转换为我们接收参数时定义的类型。 Spring中的ConversionService就是提供这种服务的 1.DefaultC…...

gdb和make工具

gdb工具&#xff1a; GDB的主要功能 断点设置&#xff1a;允许开发者在特定的代码行设置断点&#xff0c;当程序执行到该行时会自动暂停&#xff0c;方便开发者进行调试和分析。 变量查看与修改&#xff1a;在程序运行过程中&#xff0c;可以查看和修改变量的值&#xff0c;以…...

【d66】【Java】【力扣】174.寻找二叉搜索树中的目标节点

思路 反着的中序遍历&#xff0c;并计数 代码 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNo…...

Spring Boot关闭时,如何确保内存里面的mq消息被消费完?

1.背景 之前写一篇文章Spring Boot集成disruptor快速入门demo&#xff0c;有网友留言如下图&#xff1a; 针对网友的留言&#xff0c;那么我们如何解决这个问题呢 Spring-Boot应用停机时&#xff0c;如何保证其内存消息都处理完成&#xff1f; 2.解决方法 方法其实挺简单的&…...

HTML 基础标签——文本内容标签 <ul>、<ol>、<blockquote> 、<code> 等标签的用法详解

文章目录 1. 标题标签2. 段落标签3. 文本格式化标签4. 列表标签4.1 无序列表 `<ul>`4.2 有序列表 `<ol>`5. 引用标签5.1 块引用 `<blockquote>`5.2 行内引用 `<q>`5.3 作品引用 `<cite>`6. 代码和预格式文本标签6.1 代码标签 `<code>`6.2 …...

高效管理社团:Spring Boot在校园社团信息管理中的应用

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理校园社团信息管理系统的相关信息成为必然。…...

mysql约束和高级sql

约束 MySQL中的约束用于定义表中数据的规则&#xff0c;以确保数据的准确性和可靠性。以下是MySQL中常用的一些约束类型及其概述&#xff1a; PRIMARY KEY&#xff08;主键&#xff09;&#xff1a;唯一标识表中每条记录的字段或字段组合&#xff0c; 一个表中只能有一个主键…...

蓝桥杯真题——三角回文数(C语言)

问题描述 对于正整数 n, 如果存在正整数 k 使得 n123⋯kk(k1)2n123⋯kk(k1)/2​, 则 n 称为三角数。例如, 66066 是一个三角数, 因为 66066123⋯36366066123⋯363 。 如果一个整数从左到右读出所有数位上的数字, 与从右到左读出所有数位 上的数字是一样的, 则称这个数为回文数…...

uni-app 封装图表功能

文章目录 需求分析1. 秋云 uchars2. Echarts 需求 在 uni-app 中使用图表功能&#xff0c;两种推荐的图表工具 分析 在 Dcloud市场 搜索Echarts关键词&#xff0c;会出现几款图表工具&#xff0c;通过大家的下载量&#xff0c;可以看到秋云这个库是比较受欢迎的&#xff0c;其…...

Kubernetes的基本构建块和最小可调度单元pod-0

文章目录 一&#xff0c;什么是pod1.1pod在k8s中使用方法&#xff08;1&#xff09;使用方法一&#xff08;2&#xff09;使用方法二 1.2pod中容器的进程1.3pod的网络隔离管理&#xff08;1&#xff09;pause容器的作用 1.4 Pod分类&#xff1a;&#xff08;1&#xff09;自主式…...

QT创建按钮篇

QT创建按钮篇 1.概述 这篇文章从创建一个按钮对QT开发流程熟悉。 2.代码 #include "mywidget.h" #include <QPushButton>myWidget::myWidget(QWidget *parent): QWidget(parent) { // 第一种创建按钮方式 // QPushButton *btn new QPushButton(); /…...

初级软件测试工程师就别出口喊15K了,连自动化测试都不会,还不如应届生

一. 为什么学软件测试 零基础转行&#xff0c;为什么首选软件测试&#xff1f; 软件测试是软件开发的重要过程之一&#xff0c;是软件质量的保证。国外信息技术领域软件开发人员与测试人员的比例是1:1&#xff0c;而国内目前专业软件测试人员很少&#xff0c;属于紧缺型人才&a…...

Mybatis查询数据库,返回List集合,集合元素也是List。

#有时间需求会要求&#xff1a;查询全校的学生数据&#xff0c;且学生数据按班级划分。那么就需要List<List<user>>类型的数据。 SQL语句 SELECT JSON_ARRAYAGG(JSON_OBJECT(name , name ,BJMC, BJMC ,BJBH,BJBH)) as dev_user FROM dev_user WHERE project_id …...

SQL 视图:概念、应用与最佳实践

SQL 视图&#xff1a;概念、应用与最佳实践 SQL&#xff08;Structured Query Language&#xff09;视图是数据库管理中的一个重要概念&#xff0c;它允许用户以虚拟表的形式查看数据。视图在数据库中并不实际存储数据&#xff0c;而是提供了一个查询结果的快照&#xff0c;这…...

ubuntu交叉编译expat库给arm平台使用

1.下载expat库源码: https://github.com/libexpat/libexpat/release?page=2 wget https://github.com/libexpat/libexpat/release/download/R_2_3_0/expat-2.3.0.tar.bz2 下载成功: 2.解压expat库,并进入解压后的目录: tar xjf expat-2.3.0.tar.bz2 cd expat-2.3.0 <…...