本文主要是介绍1079. 活字印刷;1593. 拆分字符串使唯一子字符串的数目最大;1814. 统计一个数组中好对子的数目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1079. 活字印刷
核心思想:回溯法,其实这题就是排列组合,只不过这题是每一个分支都要收集一次结果,然后去重。这里的代码用的是标准的used标记的方法。
1593. 拆分字符串使唯一子字符串的数目最大
核心思想:回溯。拆分题,又可以用我前面的那种拆分模板来做,842,首先是从i开始拆分,然后枚举end即j,判断当前的字符串cur是否和前面重复,然后拆分长度加1,前面的拆分题是问你是否可以拆分出来,能够拆分出来就可以了,但是这里是问你最大最长是多少,所以你还需要回溯找到所有的情况。
1814. 统计一个数组中好对子的数目
核心思想:数对题,也叫数学题,首先将 nums[i] + rev(nums[j]) == nums[j] + rev(nums[i]),调换位置,
nums[i]-rev(nums[i])== nums[j]-rev(nums[j]),然后你发现就是求i和j相同的数对数目,然后你可以枚举j,然后用哈希表记录前面出现过多少个val= nums[j]-rev(nums[j])最后统计结果即可。
这篇关于1079. 活字印刷;1593. 拆分字符串使唯一子字符串的数目最大;1814. 统计一个数组中好对子的数目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!