算法比赛相关
xsimah
再见少年拉满弓,不惧岁月不惧风。
1.科技先进工作者、省级评审专家库、参与4篇专利、杭州E类人才;
2.参与管理6+人数据分析与挖掘(AI)团队;
3.多次带领团队荣获数据应用模型创新大赛单位一等奖、作品一等奖、个人一等奖;
展开
-
leetcode-191. 位1的个数刷题笔记(C++)
写在前面知识真正的灵活运用,真希望(后悔)学习的时候没有刷类似题或许这才是真正的懂这个知识点亦或许当时学的时候只是概念的普及题目详情汉明距离异或运算编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。ac代码class Solution{public: int hammingWeight(uint32_t n) { int cnt = 0; while(n) {原创 2020-06-02 09:13:29 · 284 阅读 · 0 评论 -
leetcode-27. 移除元素笔记(C++)
写在前面最近加班儿较多,脑袋转的着实慢很多,,,方式新颖、出奇,值得笔记题目详情给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素(此处敲黑板)。ac代码双指针(广义)!class Solution {public: int removeElement(vector原创 2020-06-01 22:47:07 · 192 阅读 · 1 评论 -
leetcode-26. 删除排序数组中的重复项刷题笔记(C++)
写在前面简单题码代码日常问题笔记,关键词:记下标临界值细节处理,0 / 1 开头问题题目详情26.删除排序数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。注意有序原创 2020-05-18 12:35:42 · 203 阅读 · 0 评论 -
leetcode-53.最大子序和刷题笔记(c++)
写在前面数据结构预算法思想之动态规划解决多阶段决策过程 最优化问题 的一种常用方法。两个重要性质:最优子结构重叠子问题谈谈动态规划的思想看了一些博文解释的不合理,特记录1个有了思想钥匙,必定打开问题之门!!!题目详情53.最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。ac代码核心思想(动态规划)扫描法—原创 2020-05-17 00:22:12 · 206 阅读 · 1 评论 -
leetcode-25-k个一组翻转链表(c++)
写在前面leetcode刷题笔记心得总结,原谅年纪大不总结很快就忘记的毛病…主要目的:提升数据结构与算法能力,毕竟实际开发中可能遇到深层次的算法问题主要收获:数据结构、算法思想(此处敲黑板)题目描述25. K 个一组翻转链表源题详情,不再废话给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。说明: 算法只能使用常数的额外空间。 不能只是单纯的原创 2020-05-16 21:02:21 · 480 阅读 · 0 评论 -
LeetCode 107. 二叉树的层次遍历 II刷题笔记(C++)
写在前面leetcode刷题ing,积累相关代码能力知识盲点、特此笔记vector二维数组、二叉树层次遍历(自底向上)题目描述107. 二叉树的层次遍历 II给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \9 20 /...原创 2020-05-07 14:15:47 · 187 阅读 · 0 评论 -
LeetCode 200. Number of Islands 岛屿数量(C++)
写在前面持续刷题学习ing出来混迟早都要还的,还大学期间欠下的算法债,,,刷题过程中,暂不考虑性能等,以方法便捷、有效为准试题详情试题描述给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。测试用例input:...原创 2020-04-26 20:25:47 · 227 阅读 · 0 评论 -
1005. 继续(3n+1)猜想(Python)
1005. 继续(3n+1)猜想(Python)原创 2017-11-08 21:59:23 · 1814 阅读 · 2 评论 -
格式错误 1008. 数组元素循环右移问题
Python 解决 PAT . 1008, 提交后测试结果中存在 “格式错误” 问题。分析、定位问题,提交正确结果。原创 2017-11-12 22:44:54 · 348 阅读 · 0 评论 -
[PAT]1003. 我要通过! (Python)
Introduction【背景】最近虽从事数据分析工作,但总感觉每天的进步比较慢,有时候心里不免有些失落。也由于个人需要(PAT考试),因此近期开始在计算机程序设计能力考试(Programming Ability Test,简称PAT)网站刷算法试题。目前主要使用Python进行开发,因此大多数PAT解题思路将通过Python展示、实现。Descriptioin问题如图 1-1 所示。 ps原创 2017-11-06 17:17:14 · 1966 阅读 · 0 评论 -
1040. 有几个PAT
1040. 有几个PAT(25)原创 2017-12-03 22:18:53 · 339 阅读 · 1 评论 -
1065 单身狗(附测试用例,第2,4测试点)
写在前面map封装输入的 夫妻/伴侣 对整型数组容易发生段错误参加派对人员特殊情况末尾空格小于10000的正整数( 固定5位输出 ),第4个测试点。判断计数为0的情况,输出0;否则输出异常C++ 固定位数整数输出,不全用0填充printf("%05d ", v[i]);测试用例// 第2个测试用例00// 第4个测试用例300001 2222...原创 2019-06-12 23:00:49 · 861 阅读 · 0 评论 -
1021 个位数统计(5分钟)
写在前面巧妙利用数据、下标等解题省去排序时间试题无难度ac代码#include <iostream>using namespace std;int main() { int inx; string str; // 字符串存储数字 int arr[10] = {0}; cin >> str; for(int i=0;...原创 2019-06-06 19:03:45 · 118 阅读 · 0 评论 -
1030 完美数列
写在前面思路1:数组法,数组下标存储数列值当前值作为最大值(不建议)运行超时(cuo)、段错误思路2:容器法,遍历2层循环当前值作为最小值(可取)运行超时(不必要循环)、答案错误(整型,大数(乘积结果)超出范围)测试用例9 82 3 4 5 1 6 7 8 9// 测试点35 11 1 1 1 15 11 2 3 4 5ac代码...原创 2019-06-07 10:33:20 · 157 阅读 · 0 评论 -
1094 谷歌的招聘(附测试用例)
写在前面题目相对简单,细节需巧妙处理特殊质数判断特殊用例需特殊处理(满分)高分必须尽可能覆盖测试用例(冥想)测试用例(个人总结,不收费)那么多总结文章,没太多整测试用例的。1 12/3/55 42000210 32468024680ac代码#include<iostream>#include<algorithm>u...原创 2019-06-07 13:06:25 · 1128 阅读 · 6 评论 -
1095 解码PAT准考证 段错误、运行时错误
写在前面ac总结合适的数据结构少量循环最后行换行符问题问题记录for循环过多,3 4 5 段错误、运行时异常cin、cout 修改为 scanf(输入无换行符,字符串输入特殊处理)、printf(字符串输出特殊处理)结构体使用(传参、排序)代码框架试题详情试题链接1095 解码PAT准考证 (25 分)不再复制粘贴输入示例8 4B12318...原创 2019-06-03 17:07:46 · 561 阅读 · 0 评论 -
1046 划拳 (15 分)(附注释,逻辑分析)
写在前面题目很简单,3分钟内循环遍历,条件判断好像没啥废话了测试用例input: 58 10 9 125 10 5 103 8 5 1212 18 1 134 16 12 15output: 1 2ac代码个人代码(推荐)#include <iostream>using namespace std;int main(){ in...原创 2019-06-25 14:13:14 · 181 阅读 · 0 评论 -
1080 MOOC期终成绩(附测试用例,最后1个测试点)
写在前面个人思路map封装数据输入set封装key结构体封装候选结果遍历筛选符合阈值数据排序函数实现ss1.compare(ss2)<019分最后一个特殊测试点考生分数为 0 情况测试用例额外测试Case6 6 701234 880a1903 199ydjh2 200wehu8 300dx86w 220missing 400ydh...原创 2019-06-11 23:32:09 · 1629 阅读 · 0 评论 -
1018 锤子剪刀布 (20 分)(附注释,逻辑分析)
写在前面使用整型变量、字符定义所有值冗余,繁琐,易出错空格属于字符,读取处理比较麻烦map 封装,计算最优手势计数甲、乙生产手势题目不难,输入处理耗费部分时间普通水平,10分钟内a掉测试用例input: 10C JJ BC BB BB CC CC BJ BB CJ Joutput: 5 3 22 3 5B Bac代码个人代码...原创 2019-06-25 15:46:11 · 2646 阅读 · 1 评论 -
1070 结绳(附测试用例,思路分析)
写在前面最大整数范围int 型满足最大长度越长的绳子被折叠次数越多整体绳子长度越短升序排序、迭代折叠初始值测试点 2 分、结果初始值为第一段绳子长度算不上废话的废话该题简单,对于大众水平 5分钟应该都能a可能年限有点儿远有关容器更高效,有待个人研究。尾部链接大佬使用整型容器进行处理,不过理论基本雷同。本只想记录有代表性的题目,但工作近3年,发现有必要,...原创 2019-06-12 10:39:23 · 705 阅读 · 0 评论 -
1060 爱丁顿数(附测试用例,思路分析)
写在前面即满足有 E 天骑车超过 E 英里的最大整数 E超过E英里的个数可以大于E!map封装数据道路有些曲折,需要整体把握测试用例;否则拿到分数有限建议尝试其他数据结构,例如参考文章,解决该问题类似以 int 下标为 索引 的思想失分点逻辑不严谨总体而言,题目相对容易测试用例31 2 360 1 2 3 4 5106 7 7 9 3 10...原创 2019-06-18 01:31:00 · 924 阅读 · 0 评论 -
1093 字符串A+B (20 分)(附代码注释,逻辑分析)
写在前面分行输出,存在格式错误字符数组存储结果字符getchar() 读入单个字符,’\n’作为结束符map封装、去重利用迭代器输出顺序不正确测试用例input: This is a sample testto show you_How it worksoutput: This ampletowyu_Hrkac代码个人代码(处理字符,简单)#in...原创 2019-06-25 23:58:59 · 1222 阅读 · 0 评论 -
1086 就不告诉你(附测试用例,思路分析)
写在前面倒序无0也可用stl数据结构逻辑陷阱,简单题测试用例0 60100 661010 5505ac代码个人代码#include <iostream>using namespace std;int main(){ int n, m; scanf("%d %d", &n, &m); m = n*m;...原创 2019-06-23 00:04:18 · 275 阅读 · 0 评论 -
1082 射击比赛 (20 分)(附测试用例,逻辑分析)
写在前面题目很简单,3分钟内a题运动员的编号通过·整型·处理距离计算,平方和即可(浪费资源,无须真实距离)测试用例input : 30001 5 71020 -1 30233 0 -1output : 0233 0001ac代码距离计算,多余开平方#include<cmath>#include <iostream>using na...原创 2019-07-01 18:03:44 · 689 阅读 · 0 评论 -
1083 是否存在相等的差 (20 分)(附详细注释,逻辑分析)
写在前面map封装–排序–遍历输出遍历、排序实现存在问题耗时,决定分值高低时间取决于知识短板根据键排序,实现较简单;不是根据值排序,注意题目!!!测试用例input : 83 5 8 6 2 1 4 7ooutput : 5 23 32 2ac代码适合根据值排序#include<map>#include<vector>...原创 2019-07-01 19:43:23 · 506 阅读 · 0 评论 -
1076 Wifi密码(无测试用例,)
写在前面简单题目代码优化个人非极致最优测试用例题目简单,无须测试用例ac代码有些步骤较多余字符串角度完全能解决问题#include <map>#include <iostream>using namespace std;int main(){ int n; scanf("%d", &n); char c...原创 2019-06-23 13:55:44 · 529 阅读 · 0 评论 -
1077 互评成绩计算 (20 分)(附详细注释,逻辑分析)
写在前面细节处理分数计算有坑合法区间判断结果分数四舍五入比较简单,细节处理耗费时间,10分钟内a题测试用例input: 6 5042 49 49 35 38 4136 51 50 28 -1 3040 36 41 33 47 4930 250 -25 27 45 3148 0 0 50 50 123443 41 36 29 42 29output : 4...原创 2019-07-01 23:44:00 · 828 阅读 · 0 评论 -
1084 外观数列(附详细注释,逻辑分析)
写在前面理解题意耗费些时间没有太好的解法。Step1,弄懂题意;Step2厘清逻辑遍历字符串,计算外观数列,并更新下一迭代数列字符串。迭代字符串更换数列值判断字符串遍历结束,更新最新下标值(k)to_string等函数,思路略显臃肿。有更优方法测试用例input:1 8output:1123123111compute process:11112...原创 2019-07-02 00:34:32 · 2395 阅读 · 1 评论 -
1081 检查密码(附测试用例,详细逻辑)
写在前面特殊情况易忽略包含空格除特殊处理外,均是体力活。题目相对简单使用 stl 函数测试用例特殊测试用例5123szheshi.wodepw1234.5678WanMei23333WanMei 23333Your password is tai duan le.Your password needs shu zi.Your password need...原创 2019-06-23 17:43:26 · 1292 阅读 · 0 评论 -
1092 最好吃的月饼 (20 分)(附详细注释,逻辑分析)
写在前面理解错误点销量为各个城市的销量和vector容器存储销量和定义最大销量最大值,遍历等值判断,输出最大值对应的月饼种类编号格式打印,通过flag变量控制空格的合法输出题目相对简单厘清逻辑3分钟,代码实现5分钟,共计 8 分钟测试用例input: 5 31001 992 0 233 68 0 2018 0 200836 18 0 1024 4out...原创 2019-06-26 17:49:47 · 1254 阅读 · 0 评论 -
1049 数列的片段和(附详细注释,逻辑分析,运行超时)
写在前面考察数据计算(公式抽象)题目较难(个人角度)合理的逻辑思路,耗费时间点运行超时问题,耗费时间a题失败,失去5分值accumulate 函数,numeric 库测试用例input : 40.1 0.2 0.3 0.4output : 5.00运行超时代码优化后(15分,超时)#include <vector>#include...原创 2019-07-07 22:06:34 · 438 阅读 · 1 评论 -
1071 小赌怡情(附代码优化)
写在前面题目很简单无须测试用例需要调整逻辑顺序,实测3分钟(解题已算超时)测试用例100 48 0 100 23 1 50 15 1 200 67 0 200 8Win 100! Total = 200.Lose 50. Total = 150.Not enough tokens. Total = 150.Not enough tokens. Total =...原创 2019-06-23 23:42:05 · 238 阅读 · 0 评论 -
1087 有多少不同的值(附详细注释,逻辑分析)
写在前面题目相对简单,5分钟a题floor下取整函数(不用),ceil上取整函数注意整型数组定义的大小测试用例input: 2017output: 1480ac代码#include <cmath>#include <iostream>using namespace std;int main(){ int n; scanf...原创 2019-06-26 23:06:15 · 243 阅读 · 0 评论 -
1091 N-自守数 (15 分)(附详细注释,逻辑分析)
写在前面根据分值,题目简单。但个人部分处理耗时较多,15分钟通过字符串计算待检测整数的位数若是N-自守数,则下面公式成立((N*待检测数平方-待检测数)%pow(10,待检测数位数))==0类型强转N-自守数判断-耗时测试用例input: 392 5 233output: 3 253921 25Noac代码数值计算法#include <cm...原创 2019-06-26 23:51:46 · 2042 阅读 · 1 评论 -
1066 图像过滤(附详细分析)
写在前面双层循环(按部就班)固定格式输出空格格式判断最后,题目很简单,3分钟内a题测试用例3 5 100 150 03 189 254 101 119150 233 151 99 10088 123 149 0 255ac代码#include <iostream>using namespace std;int main(){ int n,m,a...原创 2019-06-24 15:26:00 · 853 阅读 · 0 评论 -
1072 开学寄语 (20 分)(附详细注释,逻辑分析,测试点2错误)
写在前面map封装4位数字物品编号属于查缴物品种类,则打印输出(格式控制,4位)否则,测试点2错误测试用例input : 4 22333 6666CYLL 3 1234 2345 3456U 4 9966 6666 8888 6666GG 2 2333 7777JJ 3 0012 6666 2333output : U: 6666 6666GG: 2333...原创 2019-07-02 23:26:51 · 1264 阅读 · 0 评论 -
1056 组合数的和(附注释,逻辑分析)
写在前面数组封装2层循环不等值下标测试用例input:3 2 8 5output:330ac代码青铜级代码#include <iostream>using namespace std;int main(){ int n, result = 0; scanf("%d", &n); int a[n]; for...原创 2019-06-24 23:43:52 · 219 阅读 · 0 评论 -
1038 统计同成绩学生(附详细注释,逻辑分析)
写在前面整形数组存储成绩借助下标,10分钟a题数组长度为101否则,测试点3错误测试用例input : 1060 75 90 55 75 99 82 90 75 503 75 90 88output : 3 2 0ac代码#include<iostream>using namespace std;int main(){// f...原创 2019-07-12 23:07:54 · 278 阅读 · 0 评论 -
1026 程序运行时间(附详细注释,逻辑分析)
写在前面时间格式,hh:mm:ss,位数不足补零否则,测试点1/3错误秒数四舍五入只有秒数5分钟a题,基础知识掌握不牢固测试用例input : 123 4577973output : 12:42:59ac代码参考链接#include<cmath>#include<iostream>using namespace std;...原创 2019-07-12 23:53:24 · 732 阅读 · 0 评论 -
1067 试密码(附详细注释,逻辑分析)
写在前面题目有坑正确密码: 长度不超过 20 的、不包含空格、Tab、回车的非空字符串输入密码: 长度可能超过 20 的、可能包含空格、Tab、回车的非空字符串测试点2、5错误,6分正常10分钟a题包含字符串读入调整,getline测试用例input: Correct%pw 3correct%pwCorrect@PWwhatisthepassword!...原创 2019-07-13 14:50:12 · 391 阅读 · 0 评论