- 博客(5)
- 收藏
- 关注
原创 二分查找的变式
题目描述小红拿到了一个长度为 nnn 的数组,数组中的元素都是正整数。小红想让你回答以下三个问题,取两个数乘积大于 kkk 的方案数、取两个数乘积等于 kkk 的方案数、取两个数乘积小于 kkk 的方案数。注:两个数是不放回且同时取的。例如对于数组[1,2,3,4,5]而言,取[1,2]和[2,1]我们认为是同一种方案。但是,如果有两个数相等,那么取相等但位置不同的数不认为是同一种取法。例如对于数组[2,2,2,3]而言,有三种方案可以取到[2,2]。...
2021-12-04 22:01:06 1287
原创 转化成二分查找
题目dd当上了宣传委员,开始组织迎新晚会,已知班里有n个同学,每个同学有且仅有一个擅长的声部,把同学们分成恰好m组,为了不搞砸节目,每一组里的同学都必须擅长同一个声部,当然,不同组同学擅长同一个声部的情况是可以出现的,毕竟一个声部也可以分成好几个part进行表演,但是他不希望出现任何一组的人过多,否则可能会导致场地分配不协调,也就是说,她希望人数最多的小组的人尽可能少,除此之外,对组内人员分配没有其他要求,她希望你告诉她,这个值是多少,如果无法顺利安排,请输出-1题解可以直接从最多的小组的人数
2021-11-07 17:47:07 173
原创 马拉车算法
题目5. 最长回文子串给你一个字符串s,找到s中最长的回文子串。示例输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。题解1.算法大致思路:设已知以j为中心的回文字符串的长度为2*length+1,则我们把length称为点j的臂长。点i是在以j为中心的回文字符串上(即j+length-i>=0),点i的关于点j的对称点为2*j-i。已知点2*j-i的臂长为n,则的i的臂长为l=min(j+length-i,n) (因...
2021-11-01 17:26:28 92
原创 滚动数组优化(优化空间)
题目:给定三个字符串s1、s2、s3,请你帮忙验证s3是否是由s1和s2 交错 组成的。两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:s = s1 + s2 + ... + snt = t1 + t2 + ... + tm|n - m| <= 1交错 是 s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1 + s1 + t2 + s2 + t3 + s3 + ...提示:a + b 意味着字符...
2021-10-31 13:03:41 342
原创 XIE算法笔记
题目260. 只出现一次的数字 III难度中等486收藏分享切换为英文接收动态反馈给定一个整数数组nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按任意顺序返回答案。进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?技巧1、用异或操作进行消重2、x & -x == x & (~x + 1)可以得到x中最低的一位1(分析过程看编程小记—— C/C++中 x & -x 表示含义...
2021-10-30 13:12:05 135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人