随笔分类 -  算法

1 2 下一页

[算法与数据结构]使用Java泛型实现栈
摘要:###题解 1 实现内部类node 2 维护top为头节点的链表 3 操作 操作1:push() 操作2: pop() 操作3: isEmpty() ###代码 package Exam; class MyStackStruct<T> { private class Node<U> { U val; 阅读全文

posted @ 2020-08-20 00:04 coding_gaga 阅读(183) 评论(0) 推荐(0)

[算法]十进制整数转八进制
摘要:###题目 如题 ###题解 十进制转八进制:数字每次对8取余下是最后一位,然后数字/8,这样依次计算,知道/8=0;借助栈得到最终八进制数。 另:八进制转十进制:例:八进制:35=>十进制数:5*(80)+3*(81) ###代码 import java.util.Scanner; import 阅读全文

posted @ 2020-05-28 22:36 coding_gaga 阅读(3473) 评论(0) 推荐(0)

[面试题]找出字符串在集合中的子串数量
摘要:题目 给定字符串,和一个集合,集合中的串的长度都不大于三,找出字符串包含在集合中的子串数量。 题解 注意题目的特别信息,由于集合中串的长度不大于三,所以可以以目标串的每个位置为开始,分别截取长度为1,2,3的子串,看看子串是否在集合中。 另外,熟悉 的使用。 代码 阅读全文

posted @ 2020-05-14 17:50 coding_gaga 阅读(345) 评论(0) 推荐(0)

[算法]美团春招笔试题C-求有趣子序列数(DP)
摘要:题目 输入n,以及长度为n的数组元素 输出数组的非空子序列中有多少个“有趣序列”mod 998244353,有趣序列指所有元素满足arr[i]%i == 0, i从0记。 例: 输入: 2 1 3 输出: 2 题解 DP 状态:dp[i][j] = new long[arr.length()+1][ 阅读全文

posted @ 2020-03-26 21:40 coding_gaga 阅读(555) 评论(4) 推荐(1)

[算法]求满足要求的进制(辗转相除(欧几里得算法),求最大公约数gcd)
摘要:题目 3在十进制下满足若各位和能被3整除,则该数能被3整除。 5在十六进制下也满足此规律。 给定数字k,求多少进制(1e18进制范围内)下能满足此规律,找出一个即可,无则输出 1。 题解 写写画画能找到规律,即是求与k互质的数x,x进制下即能满足上述规律。 相关 求最大公约数:辗转相除法(又叫欧几里 阅读全文

posted @ 2019-12-14 18:25 coding_gaga 阅读(214) 评论(0) 推荐(0)

[算法]体积不小于V的情况下的最小价值(0-1背包)
摘要:题目 0 1背包问题,问要求体积不小于V的情况下的最小价值是多少。 相关 转移方程很容易想,初始化的处理还不够熟练,可能还可以更简明。 使用一维dp数组。 代码 阅读全文

posted @ 2019-12-14 17:26 coding_gaga 阅读(394) 评论(0) 推荐(0)

[算法题解]矩阵元素按从小到大,逆时针排列在新矩阵中
摘要:题目 输入N N矩阵,输出逆时针排序后的矩阵。 题解 在一维临时数组排序,然后控制矩阵左上角和右下角,一圈圈写入新的矩阵。 代码 阅读全文

posted @ 2019-07-19 00:05 coding_gaga 阅读(314) 评论(0) 推荐(0)

[排序]直接插入排序、希尔排序
摘要:直接插入排序 适合原本基本有序的序列。 时间复杂度O(n^2)。 插入排序详细步骤 代码 希尔排序 设置初始增量,增量慢慢变为原来的1/2,保证增量条约对应的一组组数内部有序,采用直接插入排序。 是改进的插入排序,就是为了使数组基本有序:指小的基本在前面,中的基本在中间,大的基本在后面。(区分于局部 阅读全文

posted @ 2019-06-20 00:34 coding_gaga 阅读(187) 评论(0) 推荐(0)

[Codeforces1174B]Ehab Is an Odd Person
摘要:题目链接 https://codeforces.com/contest/1174/problem/B 题意 给一个数组,只能交换和为奇数的两个数,问最终能得到的字典序最小的序列。 题解 内心OS:由题,只有交换奇偶的操作。(可略:开始觉得那就是奇数序列内部顺序不变,偶数序列内部顺序不变,然后优先队列 阅读全文

posted @ 2019-06-11 23:03 coding_gaga 阅读(330) 评论(0) 推荐(0)

[CF571B]Minimization(贪心+DP)
摘要:题目链接 http://codeforces.com/problemset/problem/571/B 题意 给数组,得到公式最小值。 题解 由题分成的子数组只有两种长度,每种长度的数组数量也是固定的。那么就是如何分,怎么计算目标值。 易得子数组内部的目标值等于最大值 最小值。 贪心在于原始数组排序 阅读全文

posted @ 2019-06-11 11:56 coding_gaga 阅读(206) 评论(0) 推荐(0)

[HDU2577]How to Type(DP)
摘要:题目链接 题意 给一个大小写字符串,求最少敲击字符串次数,最开始和最后要求shift都是down的。如日常,大小写转换可以ctrl+z或者shift保持 up/down。 题解 两个dp数组,一个表示当前shift状态是up的最小转换次数,一个表示当前shift状态是down的最小转换次数。最后做处 阅读全文

posted @ 2019-06-08 23:59 coding_gaga 阅读(164) 评论(0) 推荐(0)

[POJ1050]To the Max(最大子段和)
摘要:题目链接 http://poj.org/problem?id=1050 题意 求最大子矩阵和。 题解 即求二维的最大子段和。二维数组sumRec[I][j]存储原始数组数据rec[0][j] to rec[I][j]。那么sum[k][j] sum[I][j]即表示从I+1到k行的第j列这一列的元素 阅读全文

posted @ 2019-06-08 23:13 coding_gaga 阅读(142) 评论(0) 推荐(0)

[CF664A]Complicated GCD(数论)
摘要:题目链接 http://codeforces.com/problemset/problem/664/A 题意 给两个数,找出它们的最大公因子d,使得从a到b之间的数都可以整除d. 题解 结论: 当gcd(a, b) = 1,则gcd(a + b, a) = 1 反证法: 假设gcd(a + b, b 阅读全文

posted @ 2019-06-07 00:00 coding_gaga 阅读(356) 评论(0) 推荐(0)

[CF1009B]Minimum Ternary String(思维)
摘要:题目链接 http://codeforces.com/problemset/problem/1009/B 题意 给一个只含0、1、2串,只能做相邻的01交换或者相邻的12交换操作,问经过数次操作(可以是0次)能得到的最小字典序的串是什么。 题解 思维题 关键是把题意理解为:固定0、2的相对位置,往里 阅读全文

posted @ 2019-06-06 23:53 coding_gaga 阅读(110) 评论(0) 推荐(0)

[HDU1176]免费馅饼(DP)
摘要:题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1176 题解 DP。因为起点固定,终点随意,所以从终点到起点的顺序dp。 代码 import java.util.Scanner; public class FreePie { static final 阅读全文

posted @ 2019-06-05 22:25 coding_gaga 阅读(112) 评论(0) 推荐(0)

[补题][Codeforces478D]Red-Green Towers(DP)
摘要:题目链接 http://codeforces.com/problemset/problem/478/D 题意 叠放塔:有红、绿两种色块。从第一层开始,第一层1块,第二层2块,第i层i块。 要求每一层只能用同一种颜色的块。 输入:红块和绿块数目 输出;能叠放出的最高高度h的塔的种数。定义塔某一层的颜色 阅读全文

posted @ 2019-06-03 23:04 coding_gaga 阅读(118) 评论(0) 推荐(0)

[HDU2553]N皇后问题(DFS)
摘要:题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2553 题意 n 阅读全文

posted @ 2019-05-29 23:10 coding_gaga 阅读(141) 评论(0) 推荐(0)

[补题]求a[i]+a[j]+i-j的最大值,要求i<j
摘要:题目 如题。 例: 题解 思路: 一直是按着(a[i]+a[j])+(i j)想后序的思路,不应该限制住自己,应该多考虑拆的方法。 正确思路是把a[i]+a[j]+i j拆成(a[i]+i)+(a[j] j)。 解法: 由于题目要求i 阅读全文

posted @ 2019-05-28 23:56 coding_gaga 阅读(328) 评论(0) 推荐(0)

[POJ]Find The Multiple(DFS)
摘要:题目链接 http://poj.org/problem?id=1426 题意 输入一个数n,输出任意一个 只含0、1且能被n整除的数m。保证n 阅读全文

posted @ 2019-05-28 23:56 coding_gaga 阅读(179) 评论(0) 推荐(0)

[补题]匹配%#,%#之间的字符串重复%前的num遍
摘要:题目 匹配% ,% 之间的字符串重复%前的num遍。 样例1: 3%acm 2%acm 输出: acmacmacmacmacm 样例2: 3%2%acm 输出: acmacmacmacmacm 题解 两个栈实现。 算是做出来,只是bug差一点调完。 主要还是要熟悉java栈的使用。 代码 阅读全文

posted @ 2019-05-25 22:45 coding_gaga 阅读(1180) 评论(0) 推荐(0)

1 2 下一页

导航