华为OD机试-回溯法
文章平均质量分 75
回溯法
我不会起名字呀
这个作者很懒,什么都没留下…
展开
-
华为OD机试(C卷,100分)- 游戏分组
它的时间复杂度和空间复杂度都与输入数组的大小有关,但由于数组大小固定为 10,所以算法的复杂度是可以接受的。例:10 名参赛者的评分分别为:5 1 8 3 4 6 7 10 9 2,分组为(1 3 5 8 10)和(2 4 6 7 9),两组实力差最小,差值为1。现在给你 10 名参与者的游戏水平评分,请你根据上述要求分队,最后输出这两组的实力差绝对值。10个整数,表示10名参与者的游戏水平评分。范围在 [1, 10000] 之间。函数是一个深度优先搜索的实现,它用于找出所有可能的 5 个数字的组合和。原创 2024-08-19 15:10:40 · 652 阅读 · 0 评论 -
leetcode面试题08.08有重复字符串的排列组合、华为OD(C卷,200分)- 考古学家
有重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合。示例1:输入:S = “qqe”输出:[“eqq”,“qeq”,“qqe”]示例2:输入:S = “ab”输出:[“ab”, “ba”]提示:字符都是英文字母。字符串长度在[1, 9]之间。原创 2024-07-22 23:46:20 · 433 阅读 · 0 评论 -
leetcode698-划分k个相等的子集、华为OD机试C卷(200分)-项目排期
给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。示例 1:输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4输出: True说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。示例 2:输入: nums = [1,2,3,4], k = 3输出: false。原创 2024-07-13 00:51:36 · 873 阅读 · 0 评论 -
华为OD机试(C卷,200分)- 字符串拼接、田忌赛马
即求解a数组的所有全排列,然后将a数组的每个全排列和b数组逐个元素进行比较,统计每个全排列中a[i] > b[i]的个数biggerCount。给定两个只包含数字的数组a,b,调整数组 a 里面的数字的顺序,使得尽可能多的a[i] > b[i]。输入的第一行是数组 a 中的数字,其中只包含数字,每两个数字之间相隔一个空格,a数组大小不超过10。说明 给定的字符为a,b,c,结果字符串长度为1,可以拼接成a,b,c,共3种。最终统计的是a[i] > b[i]的个数为maxCount的全排列的数量。原创 2024-07-10 19:41:15 · 934 阅读 · 0 评论 -
华为OD机试c卷(100分)-数组连续和
给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和大于目标数 target 的 所有不同组合 ,并以列表形式返回。说明 第一行的3表示第二行数组输入3个数,第一行的7是比较数,用于判断连续数组是否大于该数;给定一个含有N个正整数的数组, 求出有多少个连续区间(包括单个正整数), 它们的和大于等于x。sum(int)为已经收集的元素的总和,也就是path里元素的总和。target(int)目标和,也就是题目中的n。原创 2024-07-04 23:13:32 · 466 阅读 · 0 评论 -
华为OD机试C卷-第k个排列、猜密码
可能的密码组合,每种组合显示成一行,每个组合内部的数字以半角逗号分隔,从小到大的顺序排列。只记得密码都是数字,而且所有数字都是不重复的。输出的密码数字要按照从小到大的顺序排列,密码组合需要按照字母顺序,从小到大的顺序排序。,n,这n个数字共有n!输出的每一个组合的数字的数量要大于等于密码最小数字数量;给定n的范围是[1,9],给定k的范围是[1,n!输入的第一行是可能的密码数字列表,数字间以半角逗号分隔。输出的组合都是从可选的数字范围中选取的,且不能重复;说明 2的排列有12,21,那么第二位置的为21。原创 2024-07-10 21:21:44 · 780 阅读 · 0 评论 -
leetcode46.全排列、47.全排列II
可以看出元素1在[1,2]中已经使用过了,但是在[2,1]中还要在使用一次1,所以处理排列问题就不用使用startIndex了。因为排列问题,每次都要从头开始搜索,例如元素1在[1,2]中已经使用过了,但是在[2,1]中还要再使用一次1。首先排列是有序的,也就是说 [1,2] 和 [2,1] 是两个集合,这和之前分析的子集以及组合所不同的地方。输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]给定n的范围是[1,9],给定k的范围是[1,n!原创 2024-07-03 20:29:16 · 512 阅读 · 0 评论