![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java刷题
猪八戒1.0
欢迎大家私信和我交流
展开
-
双 指 针
【代码】双 指 针。原创 2023-03-24 19:49:21 · 51 阅读 · 0 评论 -
树状数组与线段树
【代码】树状数组与线段树。原创 2023-03-20 22:13:05 · 53 阅读 · 0 评论 -
01背包+波动数列
【代码】01背包+波动数列。原创 2023-02-25 11:03:07 · 63 阅读 · 0 评论 -
DP来一波
是上面两个题的综合,好难呀。原创 2023-02-24 16:49:15 · 82 阅读 · 0 评论 -
DFS,BFS傻傻分不清
DFS深搜,执着总是一条路走到头,直到最后没有路了才回溯,其实就是递归BFS广搜,稳重,每次都往下找一层辨析:虽然DFS用的空间小,但不具有最短性,可能是而BFS用的空间每层都是指数型增长,但由于每次都找一层中的所有,在权值相等时,相同层数最后找不到一定是最优路径。原创 2023-02-21 23:19:18 · 98 阅读 · 0 评论 -
蚂蚁感冒---第五届蓝桥杯真题
蚂蚁感冒原创 2023-02-19 23:08:15 · 326 阅读 · 0 评论 -
买不到的数目
买不到的数目原创 2023-02-19 11:34:01 · 79 阅读 · 0 评论 -
递归与递推一
排序递归原创 2023-01-23 23:38:50 · 70 阅读 · 0 评论 -
区间合并模板
区间合并模板原创 2023-01-23 07:44:10 · 73 阅读 · 0 评论 -
离散化模板
离散化模板原创 2023-01-22 18:50:46 · 104 阅读 · 0 评论 -
双指针模板
双指针模板原创 2023-01-20 15:39:01 · 78 阅读 · 0 评论 -
位运算模板
常用位运算原创 2023-01-19 12:25:56 · 79 阅读 · 0 评论 -
前缀和差分模板
前缀和差分模板原创 2023-01-16 23:41:34 · 88 阅读 · 0 评论 -
进制+异或
String s=Integer.toString(十进制,转为0-35进制);//R进制的字符串转为10进制数//把R进制的字符串封装成大数类。原创 2022-12-08 17:55:08 · 400 阅读 · 0 评论 -
确定字符串是否是另一个的排列+压缩字符串+分发饼干
目录确定字符串是否是另一个的排列题目描述方法一(开辟四个数组,要有大小写):方法二(排列):方法3(越来越短) 压缩字符串题目描述代码分发饼干题目描述思路分析: 实现一个算法来识别一个字符串 str2str2 是否是另一个字符串 str1str1 的排列。排列的解释如下:如果将 str1 的字符拆分开,重新排列后再拼接起来,能够得到 str2 ,那么就说字符串 str2 是字符串 str1 的排列。(不忽略大小写)如果 str2 字符串是 str1 字符串的排列,则输出 YES;如果 str2 字符串不是原创 2022-12-04 01:36:06 · 571 阅读 · 0 评论 -
二进制中 1 的个数+确定一个数字是否为 2 的幂+最大化交易利润
给定一个整数 xx,输出该数二进制表示中 1 的个数。例:9 的二进制表示为 1001,有 2 位是 1 ,所以函数返回 2。输入描述输入 x (内存空间为 32 位的整数)。输出描述第一行输出 x 二进制表示中 1 的个数。输入输出样例示例 1输入9输出2x内存空间为 32 位的整数,int32位正好够用 2.用Integer.bitCount可以统计2进制中1的个数3.用位运算实现一个算法确定一个数字 N 是否为 2 的幂。若该数字是 2 的幂则输出 ,否则输出 。原创 2022-12-04 00:06:59 · 317 阅读 · 0 评论 -
Java快读(提高效率)
Java快读(提高效率)原创 2022-11-28 16:25:56 · 457 阅读 · 0 评论 -
前缀和(牛刀小试)
对于一个长度为n的数组a[0]∼a[n−1],它的前缀和sum[i] 等于 a[0]∼a[i] 的和。利用递推,只要计算 n 次,就能计算出所有的前缀和:sum[i] = sum[i-1] + a[i]。当然,我们也能用 sum[] 反推计算出 a[]:a[i] = sum[i] - sum[i-1]。那如果我预先算出了前缀和,这时候我想知道 a[i]∼a[j] 的和,我可以怎么计算?简单,和上面 a[i]=sum[i]-sum[i-1] 类似,原创 2022-11-27 23:43:04 · 104 阅读 · 0 评论 -
倍增(小试牛刀)
二分每次折半,倍增每次2的倍数原理先存储每个小区间的最值也就是初始化,之后直接查询对数列的每个元素,把从它开始的数列分成长度为1、2、4、8、…的小区间。下图给出了一个分区的例子,它按小区间的长度分成了很多组。每组的小区间的最值,可以从前一组递推而来。例如第 3 组 {4, 7, 9, 6} 的最值,可以从第 2 组 {4, 4,7}、{9,6} 的最值递推得到。所以我们定义 dp[s][k],表示左端点是 s,区间长度为 2^k 的区间最值。它的递推关系是:(1原创 2022-11-26 16:22:00 · 608 阅读 · 0 评论 -
ACM浅聊
。原创 2022-11-25 20:54:15 · 87 阅读 · 0 评论 -
字符统计次数最多
由于字母只有26个,不如用数组,HashMap虽然是O(1)但效率肯定不如直接查数组。给定一个只包含大写字母的字符出 S, 请你输出其中出现次数最多的字符。如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。一个只包含大写字母的字等串 S.若干个大写字母,代表答案。1≤∣S∣≤10的6次方。最大运行内存: 512M。原创 2022-11-25 09:20:12 · 542 阅读 · 0 评论 -
寻找 3 个数的最大乘积
例如数组 [5, -2, 3, 1, -1, 4] 中 3 个数字的最大乘积为 60。使用排序,如果都是正数排序后取最后三个即可,如果有负数可能取开始两个负数和最后一个数。第一行为数字 N((3≤N≤1000),表示数组元素的个数。实现一个算法在数组中找到 3 个数字的最大乘积。第二行为数组元素 Ai −1000≤Ai ≤1000。输出一行,为 3 个数字的最大乘积。原创 2022-11-24 23:31:18 · 362 阅读 · 0 评论 -
查找两个总和为特定值的索引
例如给定数组 [1, 2, 3, -2, 5, 7],给定总和 7,则返回索引 [1, 4]。第二行为数组元素,元素大小不超过 100(可能为负数)。若有多组符合情况则输出索引对中小索引最小的一组。给定一个数组,找到两个总和为特定值的索引。第一行为给定数组的长度,不超过 100。输出一行,为两个索引值,升序输出。原创 2022-11-24 23:01:52 · 363 阅读 · 0 评论