
算法与数据结构
算法和数据结构学习
爱玩的w同学
I am back!!!
展开
-
leetcode1054:距离相等的条形码
思路:按照条形码出现次数从大到小排序,优先交差安排次数最多的条形码。例:1 1 2 2 4 4 4 4 5 6 (len=10)3.安排5和6:4,2,4,1,4,1,4,5,2,6,2.再安排2和1:4,2,4,1,4,1,4,,2,,注:交差安排可以理解为,先安排偶数位,再安排奇数位。1.先安排4:4,,4,,4,,4,---原创 2023-05-14 14:26:50 · 263 阅读 · 0 评论 -
移位和格雷编码
移位运算和格雷编码原创 2023-02-23 20:11:38 · 239 阅读 · 0 评论 -
力扣-1775通过最少操作次数使数组的和相等
题目链接:力扣https://leetcode.cn/problems/equal-sum-arrays-with-minimum-number-of-operations/description/ 我的代码:(语言:GO)原创 2022-12-07 21:44:59 · 146 阅读 · 0 评论 -
力扣-每日-优美的排列II
优美的排列原创 2022-09-08 18:18:45 · 90 阅读 · 0 评论 -
力扣-每日一题 重新排列单词间的空格
重新排列单词间的空格原创 2022-09-07 17:41:42 · 91 阅读 · 0 评论 -
力扣每日一题-f-diff数对(532)
题目:力扣https://leetcode.cn/problems/k-diff-pairs-in-an-array/思路:寻找相差为k的数对 分为两种情况 一种为num+k ,一种为num-k 使用set消除重复数据,使用map来记录数据对,使用size函数返回数量注意点:在存入map容器的时候 需要将较小的的数据存为关键字,避免出现(1,2)和(2,1)的重复数据,我的题解时间和空间复杂度都挺高,可以使用unordered_set和unordered_map来减少查询的时间等等,优化代码效率。...原创 2022-06-16 10:06:56 · 165 阅读 · 0 评论 -
力扣每日-498、对角线遍历
题目链接:力扣https://leetcode.cn/problems/diagonal-traverse/遍历规则:思路:对角线有两种运动轨迹 1.右上角 行数减一 列数加一 2.左下脚 行数加一 列数减一 判断每一次运动是否出界 出界后更改运动起始点和轨迹 每一次运动的落脚点将数据输入到需要输出的数组中注意点:根据每种运动轨迹出届的不同位置有两种不同的起始点规律 这里我会在代码中注释说明...原创 2022-06-14 16:38:50 · 309 阅读 · 1 评论 -
力扣-每日一题(890)查找和替换模式
力扣每日一题-890 查找和替换模式原创 2022-06-12 17:19:06 · 101 阅读 · 1 评论 -
2022年寒假算法训练-1.6
1.6训练日记1:Acwing题目两道Acwing2022寒假每日一题 笨拙的手指2058. 笨拙的手指 - AcWing题库解题思路:取并集 将二进制和三进制的所有可能遍历 取两个相同的十进制数#include <iostream>#include <cstring>#include <algorithm>#include <unordered_set>using namespace std;int get(string s,原创 2022-01-06 10:44:44 · 239 阅读 · 0 评论 -
2022寒假算法训练-1.7
1.Acwing寒假每日一题:2014. 岛 - AcWing题库解题思路:将小岛排序,从低到高依次淹没,并计算改变后的小岛数量,取最大值关键点:1.去重(删掉左右两边同高度的小岛,视为一座岛)2.根据被淹小岛的左右两边情况来判断小岛数量的增加或者减少四种情况如下图:y总代码:#include <iostream>#include <cstring>#include <algorithm>#define x first#d.原创 2022-01-07 12:54:05 · 172 阅读 · 0 评论 -
2022寒假算法训练-1.8
1.Acwing每日一题:1996. 打乱字母 - AcWing题库解题思路:1.将打乱的字母顺序按从小到大排序和从大到小排序分别存储在一个容器中2.将两个容器从小到大排序,在将原容器中元素一个一个比较3.在倒序容器中第一个大于或者等于他的元素的位置即为最低位置,但由于下标原因要+14.在升序容器中第一个大于元素的位置即为最高位置,这里不需要+1,因为下标+1,位置-1.注意:1.三容器原容器不需要排序2.找最低和最高条件不一样3.不能使用find函数来查找,需要使用原创 2022-01-08 11:10:40 · 111 阅读 · 0 评论 -
2022寒假算法训练-1.9
1.pta训练一2.加深map和stack集合的使用3.加深记忆删除子字符串的方法#include <iostream>#include <cstring>#include <algorithm>#include <vector>#include <string>using namespace std;int main(){ string s1, s2;//s2为需要删除的子字符串 getline(cin, s1)原创 2022-01-09 13:22:15 · 73 阅读 · 0 评论 -
力扣每日-最小基因变化
bfs-深度优先遍历原创 2022-05-07 21:39:33 · 122 阅读 · 1 评论 -
PTA-出栈序列的合法性
给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, ..., N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 M=5、N=7,则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 },但不可能得到{ 3, 2, 1, 7, 5, 6, 4 }。输入格式:输入第一行给出 3 个不超过 1000 的正整数:M(堆栈最大容量)、N(入栈元素个数)、K(待检查的出栈序列个数)。最后 K 行,每行给出 N 个数字的出栈序列。所有同行数字以空格间隔。输出格式原创 2022-04-22 10:29:58 · 601 阅读 · 0 评论 -
PTA-树的同构
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2 现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N(≤10),即该树的结点数(此时假设结点从0到N−1编号);随后N行,第i行对应编号第i个结点.原创 2022-04-22 10:25:47 · 608 阅读 · 0 评论 -
PTA-病毒溯源
PTA-病毒溯源 dfs+一点贪心原创 2022-04-20 10:36:57 · 1527 阅读 · 1 评论 -
PTA-定价
在市场上有很多商品的定价类似于 999 元、4999 元、8999 元这样。它们和 1000 元、5000 元和 9000 元并没有什么本质区别,但是在心理学上会让人感觉便宜很多,因此也是商家常用的价格策略。不过在你看来,这种价格十分荒谬。于是你如此计算一个价格 p(p 为正整数)的荒谬程度:首先将 p看做一个由数字组成的字符串(不带前导0 );然后,如果 p的最后一个字符是 0,就去掉它。重复这一过程,直到 p的最后一个字符不是 0;记 p的长度为 a,如果此时 p 的最后一位是 5,则荒谬程原创 2022-04-19 10:48:42 · 141 阅读 · 0 评论 -
PTA-哲哲打游戏
模拟原创 2022-04-18 10:55:35 · 278 阅读 · 0 评论 -
PTA-拼题A打卡奖励
PTA- 拼题A打卡奖励 特殊的01背包原创 2022-04-18 10:06:40 · 2055 阅读 · 0 评论 -
PTA-浪漫侧影
PTA-浪漫侧影 二叉树的中序和后续转换为层次遍历原创 2022-04-18 09:27:22 · 908 阅读 · 0 评论