
acm国际大学生程序设计竞赛
文章平均质量分 57
蚍蜉_
如果,您希望更容易地发现我的新博客,不妨关注一下我【关注】
如果,您对我的博客内容感兴趣,请继续关注我的后续博客,我是【Allen】
本站内文章为网络自学笔记,个别内容及图片引用自网络,如有侵权请联系本人,本人将会在第一时间删除侵权内容。欢迎各位博友评论交流 !
展开
-
【线段树】-敌兵布阵 --单节点更新
线段树,单节点更新原创 2017-12-07 05:10:22 · 201 阅读 · 0 评论 -
【leetcode】14.最长公共前缀
文章目录最长公共前缀题目描述题目分析题解代码最长公共前缀题目描述题目分析我默认用第一个当最短的,然后和后面的依次比较,遇到不同的就直接截断,开始下一个比较有个比较坑的地方就是测试测试代码有空的测试数据,所以直接取第一个数据会报错,开始比较一下就可以了此外题解还有用分治,二分等,都是在比较顺序上面的修改,并没有改进时间复杂度,故就不写了题解代码class Solution {pu...原创 2019-08-27 19:04:38 · 127 阅读 · 0 评论 -
【leetcode】20.有效的括号
文章目录题目描述题目分析题解代码题目描述题目分析从题目来看,本来想用字符串反转直接比较字符串,但是存在分开的括号,所以不能这样干可以用字符挨个比较,但是我想到了栈就很简单的解决了遇到可以消除的就出栈,不能消除的就进栈,最后判断栈是否为空就可以了题解代码class Solution {public: bool check(char a ,char b){ if(a...原创 2019-08-27 19:32:32 · 116 阅读 · 0 评论 -
【leetcode】21.合并两个有序链表
文章目录题目描述题目分析题解代码全部排序重新分配链表代码(略麻烦)简单粗暴的挨个比较递归解题(转载)题目描述题目分析首先我看到了排序的问题,先想到的是sort函数,于是把两个链表的值重新分配给一个新链表但是更快的方法应该是将两个链表挨个进行比较,对链表的next进行重新分配这样的时间复杂度应该是O(N+M),而sort的时间复杂度是O(logn),所以从速度来说应该挨个比较看了题解还...原创 2019-08-27 20:56:00 · 161 阅读 · 0 评论 -
【leetcode】26. 27 删除重复项,移除元素
文章目录删除重复项题目描述题目分析题解代码双指针法删除重复项题目描述题目分析开始准备用哈希表觉得比较简单,但是空间只允许用O(1),所以不能用哈希表用双指针法,挨个比较,然后返回长度就可以了应该用二分法速度更快,但是二分法还没熟练,后面掌握二分之后再写下二分的题解吧题解代码双指针法/** class Solution {public: int removeDupli...原创 2019-08-28 11:29:41 · 157 阅读 · 0 评论 -
【leetcode】28.实现strStr
文章目录实现strStr题目描述题目分析题解代码map解法string库函数一行解决两种结果对比实现strStr题目描述题目分析这个题常规解法应该是双指针,挨个来比较,但是我想更简洁一点用map来做用map.find来查找是否存在这个元素,其实复杂度应该更高了,因为建立map和在map查找都很费时间最后看题解还有更骚的直接用string里面的find来查找题解代码map解法cl...原创 2019-08-28 12:24:40 · 117 阅读 · 0 评论 -
【leetcode】35. 搜索插入位置,69.X的平方根,278. 第一个错误的版本
文章目录35. 搜索插入位置题目描述题目分析题解代码挨个比二分法35. 搜索插入位置题目描述题目分析首先一方面可以暴力直接单指针挨个比,比到合适的就插进去,复杂度O(N)但是因为是个有序数组,可以使用二分法,顺便学习了一下二分法题解代码挨个比class Solution {public: int searchInsert(vector<int>& n...原创 2019-08-28 14:47:18 · 417 阅读 · 0 评论 -
【leetcode】167. 两数之和 II - 输入有序数组
文章目录167. 两数之和 II - 输入有序数组题目描述题目分析题解代码167. 两数之和 II - 输入有序数组题目描述题目分析开始觉得可以用二分法,但是比较鸡肋的是二分法只能活动一端,所以index1就必须遍历了时间复杂度是O(NlogN),写了一遍提交上去还超时了看了下题解,可以用哈希表,时间复杂度O(N),空间复杂度O(N)但是正规解法应该是双指针碰撞,一端在左边一端在右...原创 2019-08-28 15:55:26 · 153 阅读 · 0 评论 -
【leetcode】350. 两个数组的交集 II
文章目录350. 两个数组的交集 II题目描述题目分析题解代码Vector解题hash表解决350. 两个数组的交集 II题目描述题目分析因为考虑到有重复的元素,而且不能剔除,所以先当到不能使用map和set和hash表于是选择了vector,先把一个数组数据全部放进去,然后判断另一组是不是在里面有就放入ans,并且剔除去一个,最后返回ans看了题解还可以用哈希表的,<str...原创 2019-08-28 22:17:11 · 262 阅读 · 0 评论 -
【leetcode】70. 爬楼梯,746. 使用最小花费爬楼梯
文章目录70. 爬楼梯题目描述题目分析题解代码Vector解决数组写法70. 爬楼梯题目描述题目分析非常经典的dp入门题目以前用数组来做的,今天试了一下vector题解代码Vector解决class Solution {public: int climbStairs(int n) { vector <long long> ans ; ans....原创 2019-08-28 23:49:34 · 171 阅读 · 0 评论 -
【leetcode】53. 最大子序和
文章目录53. 最大子序和题目描述题目分析题解代码分治算法53. 最大子序和题目描述题目分析简单的dp问题,挨个加,遇到负数就停止,与最大值比较一下,然后以后面一个为起点继续比后面提出了分治算法,复杂一点,时间复杂度也更高,但是这种思想可以解决这个问题的但是我用分治算法超时。。题解代码分治算法class Solution {public: int max_cross_...原创 2019-08-29 13:38:04 · 204 阅读 · 0 评论 -
自用模板
文章目录自己用的模板1.二分查找2.分治算法自己用的模板1.二分查找二分查找链接模板原文链接1.求最小的i,使得a[i] = key,若不存在,则返回-1int binary_search_1(int a[], int n, int key){ int m, l = 0, r = n - 1; // 闭区间[0, n - 1] while (l < r) ...原创 2019-08-29 13:40:50 · 368 阅读 · 0 评论 -
【leetcode】9.回文数
回文数题解回文数题解题目描述题目分析题解代码回文数题解题目描述题目分析回文数如果按照数字来处理的话只需要通过%10与/10分别挨个比较就可以了还可以先反转一下数字,但是有个小坑,如果全部反转可能会出现超过int大小的情况所以如果反转数字的话建议使用long long或者反转一半此外可以把数字转成字符串后来处理,开始我比较蠢的根据字符串长度进行了挨个比较,看了题解后发现还可以直接使用...原创 2019-08-27 13:21:27 · 178 阅读 · 0 评论 -
【leetcode】7.整数反转题解
整数反转题解文章目录整数反转题解1.题目描述2.题目分析3. 解题代码1.题目描述2.题目分析题目是很简单的整数反转问题,要注意的地方有两个:要求环境只能储存32位符号整数,也就是只能使用int,使用long long试验了一下好像也只有32位、要求反转后整数溢出要返回0,所以要进行溢出判断,但是不能直接与INT_MAX与INT_MIN比较,因为只能存储32位,值已经溢出比较出来是...原创 2019-08-27 11:27:52 · 185 阅读 · 0 评论 -
【leetcode】1两数之和
【leetcode】1两数之和两数之和解题思路解题方法1:采用暴力求解的运行结果解题方法2:采用hash表的运行结果两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], ta...原创 2019-08-26 20:41:30 · 163 阅读 · 0 评论 -
[全排列]--A Number Puzzle
ACM全排列原创 2017-12-07 05:10:59 · 428 阅读 · 0 评论 -
[状态压缩]---Brackets
状态压缩原创 2017-12-07 05:04:18 · 236 阅读 · 0 评论 -
【状态压缩】---状态压缩dp第一题
状态压缩,ACM原创 2017-12-07 05:02:44 · 432 阅读 · 0 评论 -
状态压缩--方格取数
ACM题目,状态压缩原创 2017-12-07 05:01:26 · 279 阅读 · 0 评论 -
[递推简单dp]-hdu 2084 数塔
[递推简单dp]-hdu 2084 数塔原创 2018-01-21 18:03:50 · 340 阅读 · 0 评论 -
[递推简单dp]-hdu 2041 超级楼梯
[递推简单dp]-hdu 2041 超级楼梯原创 2018-01-21 18:08:37 · 270 阅读 · 0 评论 -
[递推简单dp]-hdu 2050 折线分割平面
[递推简单dp]-hdu 2050 折线分割平面原创 2018-01-21 18:11:37 · 267 阅读 · 0 评论 -
[LIS_最长递增子序列]-hdu 1003 Max Sum
[LIS_最长递增子序列]-hdu 1003 Max Sum原创 2018-01-21 18:17:10 · 257 阅读 · 0 评论 -
[LIS_最长递增子序列]-hdu 1087 Super Jumping!
[LIS_最长递增子序列]-hdu 1087 Super Jumping!原创 2018-01-22 15:02:10 · 369 阅读 · 0 评论 -
hdu 5912 Fraction
hdu 5912 Fraction标签(空格分隔): ACM Mr. Frog recently studied how to add two fractions up, and he came up with an evil idea to trouble you by asking you to calculate the result of the formula below:原创 2018-01-22 15:05:31 · 275 阅读 · 0 评论 -
小希的迷宫HDU1272 查并集
小希的迷宫HDU1272 查并集标签(空格分隔): 未分类上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间B走到房间A,为了提高难度,小希希望任意两个房间有且仅有一条...原创 2018-05-11 01:30:41 · 209 阅读 · 0 评论 -
【leetcode】
文章目录快慢指针+反转链表快慢指针+反转链表bool isPalindrome(ListNode* head) { if(!head||!head->next) return true; ListNode* fast = head;ListNode* slow = head; while(fast&&fast->next)...原创 2019-08-29 22:35:13 · 233 阅读 · 0 评论