- 博客(81)
- 收藏
- 关注
原创 LeetCode 746. 使用最小花费爬楼梯
Y总的代码我转不过弯来,于是我问了问赖哥,学到了,f[i]: 爬到第i级台阶的最小花费f[0] = 0 因为可以免费到0级,表示爬到第0级台阶花费,就是0f[1] = 0,因为可以免费到1级,同上闫式DP:划分集合,f(i - 2)、f(i - 1)分别表示从i-2级、i-1级再到i级。
2024-03-21 22:22:03
261
原创 长度最小的子数组
找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。
2023-01-21 10:44:48
1804
原创 844. 比较含退格的字符串
给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true。# 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。进阶:你可以用 O(n) 的时间复杂度和 O(1) 的空间复杂度解决该问题吗?
2023-01-17 20:05:08
142
原创 Java类的方法参数为字符串、字符串数组
在看廖雪峰老师的Java教程,有个疑问在心头挥之不去,类的方法参数为字符串时,改变main函数中原本的String,并不会改变类的实例中的String。但是为字符串数组时,却改变了类的实例中的String[].所以,做个测试即可知道为什么了。...
2022-08-12 09:54:03
1103
原创 编译原理 实验4
写在前面纯粹,为了记录.以后某一天,回过头来看看.给大学留些痕迹hh.PS:很多思路也都是学习前辈们的,如果能顺便帮到你,不客气!强烈推荐学习资源:编译原理(哈工大)本篇思路完全来自楼上链接,但是代码是纯自己瞎敲出来的。内容编译原理 实验4利用c语言实现以下LL(1)文法的分析程序。对于给定的文法G[E]E->TE’E’->+TE’ | εT->FT’T’->*F T’| εF->(E) | i实验步骤1、建立该文法的分析表;2、编程实现非递归
2022-07-14 11:17:48
1395
3
转载 编译原理 实验3
写在前面纯粹,为了记录.以后某一天,回过头来看看.给大学留些痕迹hh.PS:很多思路也都是学习前辈们的,如果能顺便帮到你,不客气!参考文章:https://blog.youkuaiyun.com/niu91/article/details/9155509内容编译原理 实验3递归下降法编写一个语法分析程序,使之与词法分析器结合,能够根据语言的上下文无关文法,识别输入的单词序列是否是文法的句子。对于给定的文法G[E]E->TE’E’->+TE’ | εT->FT’T’->*F
2022-07-14 11:17:01
406
原创 编译原理 实验2
写在前面纯粹,为了记录.以后某一天,回过头来看看.给大学留些痕迹hh.PS:很多思路也都是学习前辈们的,如果能顺便帮到你,不客气!内容编译原理 实验2通过编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。本实验以用户指定的想编译的以C语言编写的文件作为词法分析程序的输入数据。在进行词法分析中,先自文件头开始以行为单位扫描程序,将该行的字符读入预先设定的一个数组缓冲区中,然后对该数组的字符逐词分割,进行词法分析
2022-07-14 11:16:27
1780
原创 编译原理 实验1
写在前面纯粹,为了记录.以后某一天,回过头来看看.给大学留些痕迹hh.PS:很多思路也都是学习前辈们的,如果能顺便帮到你,不客气!内容编译原理 实验1编制一个程序,该程序的功能是能打开一个高级语言程序的源文件,扫描该源程序文件的字符,并识别该源程序文中的关键字和保留字,把识别的结果保存到一个新的文件中,格式是关键字或保留字(该关键字或保留字所在的行号)。源代码/*#include <fstream>ofstream //文件写操作 内存写入存储设备ifstr
2022-07-14 11:15:50
543
原创 KY6 手机键盘
题目链接牛客网的对应题目题目KY6 手机键盘题目题解(5)讨论(165)排行中等通过率:37.73% 时间限制:1秒空间限制:64M知识点字符串模拟warning 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。描述按照手机键盘输入字母的方式,计算所花费的时间 如:a,b,c都在“1”键上,输入a只需要按一次,输入c需要连续按三次。 如果连续两个字符不在同一个按键上,则可直接按,如:ad需要按两下,kz需要按6下 如果连续两字符在同
2022-01-23 12:03:28
753
原创 Day of Week
题目给出一个日期,输出对应是星期几,思路:计算距离今天是几天,然后一推导,完事儿,这里的“今天”是2022年1月18日 周二牛客网题目链接:题目KY108 Day of Week中等通过率:27.62% 时间限制:1秒空间限制:64M知识点模拟基础数学思维warning 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。描述We now use the Gregorian style of dating in Russia. The leap
2022-01-18 21:52:12
167
原创 图片0.99MB
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Ma.
2020-12-22 21:53:19
173
转载 3维前缀和,3维差分
高维前缀和惊喜地发现另外一种求前缀和的方式,转来粘这,感谢这位大佬的学习笔记,[学习笔记]高维前缀和附.三维前缀和 O(N3*23)的写法S(X, Y, Z) = a(X, Y, Z)+S(X, Y, Z - 1) + S(X, Y - 1, Z) + S(X - 1, Y, Z)-S(X, Y - 1, Z - 1) - S(X - 1, Y, Z - 1) - S(X - 1, Y - 1, Z)+S(X - 1, Y - 1, Z - 1)便于记忆的方法:二进制001——111,奇数个
2020-08-21 16:58:10
2803
原创 小技巧
调试1.当出现问题,尽量输出一些详细的信息,有利于找Bug。2. 当出现段错误:可以利用 exit(0) ,在代码中二分找到出问题的地方。做题刚拿到题目,可以先写个暴力做法,再一步步优化即可,向着小于1亿的方向,即使写不出最优的方法,也能拿部分分。...
2020-07-28 09:54:23
135
原创 用Huffman编码方法,实现对通信字符的编码和解码(C++)
算法思想本算法的关键是构建最优二叉树(即哈夫曼树),接着对最优二叉树的叶子结点进行编码即可,接着就可以输入二进制数进行译码。构建最优二叉树:将通信字符的结点初始化放入二叉树集,每个结点初始是一颗单节点的二叉树,每次取出两个权值最小的二叉树合并成一棵树,删除原始的两二叉树,重复该过程直至二叉树集中仅剩一棵树,这棵树即所求的哈弗曼树。编码:从哈夫曼树的根结点出发,初始化空字符集,向左孩子移动则向字符集存入‘0’,向右孩子移动则存入‘1’,若遍历到叶子结点,则将字符集中的编码写入叶子结点即可。译码:从根
2020-07-03 19:40:12
4771
原创 双指针算法?
题目给定一个长度为n的整数序列,请找出最长的不包含重复数字的连续区间,输出它的长度。题目链接尝试#include <iostream>#include <cstring>using namespace std;const int N = 1e5 + 10;int q[N], sign[N];int max(int a, int b){ int max = (a > b)? a : b; return max;}bool chec
2020-06-21 19:42:40
183
原创 利用线程信号量实现生产者和消费者之间的同步(linux环境,C语言)
实验内容实验内容三 利用线程信号量实现生产者和消费者之间的同步生产者和消费者实例:有一个仓库生产者负责生产产品,并放入仓库,消费者从仓库拿走产品,要求仓库每次只能入一人,仓库中最多存放10个产品,仓库满时不能再放入产品,仓库空时不能再从中取出产品,生产消费速度不同参考思路:(1)生产和消费各一个线程,仓库为互斥,假设容量为10,库存为3;(2)假设生产速度比消费速度快,信号量的值等于剩余产品;在以下程序中,已经给出主函数,要求实现void *produce(void *arg)()和void
2020-05-17 00:53:01
2769
原创 算法学习日志
快速排序。 之前B站学过了,纠结过,嘿嘿,会了 @2020/5/14归并排序。 同上,嘿嘿 @2020/5/15整数二分算法。 在我脑子里,好抽象鸭O_o,懵逼状态 @2020/5/15
2020-05-16 13:47:04
372
原创 蓝桥杯_第九届_C/C++B组第四题_测试次数
题目标题:测试次数x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。如果到了塔的最高
2020-05-12 08:29:32
208
原创 写Bug的快乐,嘿嘿
前言按PPT的源码照葫芦画瓢,但是一直有Bug,调了一下午,发现是一个括号的锅 O_o.收获科学调试!科学调试!科学调试!别再无脑调试了,一部分一部分de 排除问题,而不是在一个坑里来回挖,越挖越深~别再说啥我程序没问题啊,为什么运行结果就是有BUG呢?运行结果存在Bug,那就是存在问题,要么硬件、要么软件,哪有什么没问题。END———————8 + 8 = 8 岛屿心情——————...
2020-05-11 18:51:24
171
原创 平方矩阵 I、蛇形填数(C++)
平方矩阵题目输入整数N,输出一个N阶的回字形二维数组。数组的最外层为1,次外层为2,以此类推。输入格式输入包含多行,每行包含一个整数N。当输入行为N=0时,表示输入结束,且该行无需作任何处理。输出格式对于每个输入整数N,输出一个满足要求的N阶二维数组。每个数组占N行,每行包含N个用空格隔开的整数。每个数组输出完毕后,输出一个空行。数据范围0≤N≤100输入样例...
2020-05-07 16:28:21
796
转载 打印N阶菱形_曼哈顿距离(C++)
写在前面思路参考自博客:博客链接版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/smallrain6/article/details/105687302————————————————题目输入一个奇数n,输出一个由‘*’构成的n阶实心菱形。输入格式一个奇数n。输出格式...
2020-04-29 22:58:01
791
原创 蓝桥杯_第九届_C/C++B组第五题_快速排序
题目标题:快速排序。 以下代码可以从数组a[]中找出第k小的元素。它使用了类似快速排序中的分治算法,期望时间复杂度是O(N)的。请仔细阅读分析源码,填写划线部分缺失的内容。#include <stdio.h>int quick_select(int a[], int l, int r, int k) { int p = rand() % (r - l + 1...
2020-04-28 17:18:43
276
原创 蓝桥杯_第九届_C/C++B组第三题_乘积尾零
题目标题:乘积尾零如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432 3051 4434 6704 3594 9937 1173 6866 3397 4759 7557 3070 2287 1453 9899 ...
2020-04-26 12:06:11
247
原创 8.2.3 二分查找
二分查找递归法代码#include <iostream>using namespace std;//查找序列中是否有元素 elem //二分查找,只适用于在有序序列中查找//时间复杂度O(logn) int BinarySearch(int *A, int elem, int l, int r) { int m = (l + r) / 2; if (A[m] ...
2020-04-22 13:03:12
132
原创 8.1 “最大连续合”问题_算法优化
写在前面算法、源码来自《算法竞赛入门经典》第2版 P221,作者刘汝佳。题目描述**最大连续和问题。**给出一个长度为n的序列A1,A2,…,An,求最大连续和。换句话说,即要我们找到一段连续子序列,保证该子序列所有元素之和最大。初始版本1.0算法思想:枚举子序列的起点和终点,计算每种情况的和;渐进时间复杂度:O(n3);#include <iostream>u...
2020-04-20 22:13:51
305
原创 UVa12558_Egyptian Fractions (HARD version)
题目题目bala稳稳地超时了O_O…Timi limit//对于整个问题,一头雾水 // 方向________________>>>>>>>>> //那就先弄懂小规模问题: a / b 分解 成三个埃及分数。列出所有情况。 //2020/4/18 //9:00 - 21:30//@reasonbao #includ...
2020-04-19 08:46:00
191
原创 7.6 迭代加深搜索_埃及分数问题
bala从一开始的一头雾水,完全不懂如何下手。接着认真再看了紫书、博客,还是不知道怎么下手。期间尝试过跟着别人的代码敲,但,完全不懂他们的思路。本着实践出真知的精神,于是我!!!决定从一个小规模的、比原题简单的问题入手,搞定一个小规模问题,那说不定就能弄懂原题了,照葫芦画瓢嘛。于是我纠结的问题就缩小成了:==输入真分数 a / b,求加数个数为3的情况下的埃及分数解,即把 b / a 表示成...
2020-04-18 20:31:51
338
2
原创 排序算法_学习笔记(C++)
选择排序void SelectSort(vector <int> &arr) { for (int i = 0; i < arr.size(); i++) { for (int j = i+1; j < arr.size(); j++) { if (arr[j] < arr[i]) swap(arr[j], arr[i]); //遇...
2020-04-12 01:38:08
544
1
原创 例题 7-4 素数环(Peime Ring Problem, Uva 524)
题目题目传送门啊咧提交代码的时候,第一次PE错误,我想了一下可能是 行末打回车前的空格在作怪,一改,还真是。输出结果的末尾打空格也是不行的,比赛要注意咯。然后,我的代码好花时间呐,没有对比就没有伤害:看我的,我这就去用C++的轮子next_permutation()一遍试试,嘿嘿!AC代码//4/1/20:09 _ 20:40 //@reasonbao//comn on, ...
2020-04-02 20:53:32
177
原创 八皇后问题 _ 递归枚举排列法
//八皇后问题初试//根据8个皇后在不同行不同列//步骤:填第一行的皇后、填第二行的皇后(不能与之前的同列)、...、填第八行的皇后//相当于 枚举排列:12345678表示第i(1-8)行皇后在第i(式子里分别代入)列 //排列出一个后,判断是否处于对角线的 //2020/3/31#include <iostream>#include <cstring>#...
2020-03-31 09:47:22
382
原创 十进制数和补码之间的相互转换
前言这么久过去了,对了补码的概念还是云里雾里,只知其然,不知其所以然。也看了不少文章了,还是没理解,有减法转加法和模的概念。那就、那就,先用着吧!!!哈哈哈,以后说不定就懂了。——2020/3/30补码转十进制数的实现 (说不定要要用上呢)从看过的文章中学来的,与普通2进制数转10进制数的过程几乎一样,但是第一位的计算要乘上(-1)。Eg. 1111 = -1×1×23 + 1×2...
2020-03-30 16:21:03
15553
原创 蓝桥杯_第九届_C/C++B组第二题_明码
题目标题:明码汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛。16点阵的字库把每个汉字看成是16x16个像素信息。并把这些信息记录在字节中。一个字节可以存储8位信息,用32个字节就可以存一个汉字的字形了。把每个字节转为2进制表示,1表示墨迹,0表示底色。每行2个字节,一共16行,布局是:第1字节,第2字节第3字节,第4字节....第31字节, 第32字节这...
2020-03-26 22:42:16
171
转载 例题 7-3 分数拆分(Fraction Again?!,Uva 10976)
题目Uva原题传送门首先哇,看了作者的源码我才终于懂了咋写。。。我竟然没想到有y的具体范围了,还知道了k,那不就就可以直接求x了我竟然还想枚举x我竟然还根据输入的最大值给x定了个上限1e9。。。我竟然还不知道判断分数是否为整数,直接判断能否整除就行了我竟然想把那些输出先sprintf()保存到字符数组里,保存x、y的值不就好了我竟然…好了,没了,哈哈哈哈哈哈哈哈哈哈,太年轻啊,...
2020-03-21 22:45:25
215
原创 例题 7-2 最大乘积(Maximum Product,UVa 11059)
前言哇,关于这题,我真的有好多话说!!!首先,我这清奇的脑回路,在学暴力求解法这章,但是我的思路并不是暴力解题(好吧其实是因为一开始觉得暴力求解好麻烦,数据量大),花了两个小时把握的思路实现,但是WA了。第一次调试的时候,终于发现了数据溢出了,数据真的好容易溢出,数据真的好容易溢出,数据真的好容易溢出!!!最大值是1e+18,那这时候采用long long int就可以解决问题了,int 为...
2020-03-21 16:53:46
444
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人