![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++算法编程
RealWeakCoder
csdn博客不再更新,后续搭建个人博客平台
展开
-
csp201809-03元素选择器
#include<iostream> #include<vector> #include<string> #include<sstream> #include<cctype> #include<deque> using namespace std; int point(string s) { int ans = 0; for (auto&ch : s) { if (ch == '.') ++ans; else br原创 2021-03-19 13:17:06 · 124 阅读 · 0 评论 -
2019安徽省程序设计竞赛 D自驾游 题解
从无编程比赛经验,程序设计艺术与方法作业所迫,采用方法十分普通,还请进来的大佬莫要笑话 原题 描述 P 省有 N 个城市,编号分别为 1…N,烦烦家住 1 号城市,N 号城市是省会。P省的交通非常发达,有 M 条有向的高速公路连接这 N 个城市,第 i 条高速公路(1<=i<=M)从城市 ui 连向城市 vi。这天,烦烦想自己开车从家前往省会城市游玩。烦烦是个做事很细致的人,为了有备无患,她决定同时开着 heroMap 和 amap 这两个不同的导航软件来帮助自 己完成这次旅程。这两个导航软件原创 2020-06-11 16:48:46 · 1355 阅读 · 4 评论 -
【精选】一篇文章带你搞懂排列算法题【面向面试】
一说起排列与组合,很多人会想到回溯法,但回溯法的适用状态空间大小很小,即使是剪枝高手在面对n>20时的题目也会望洋兴叹,另觅它径。 不过这篇文章还是先从回溯讲起,再慢慢转入数学的天堂。 排列型题目的回溯法都有一个板子: void backtrace(int n) { 递归出口或中间处理部分 for (int i = 0; i < n; ++i) { if (未选) { 标记选中 backtrace(n); 取消标记选中; } } } 借着这个板子可以轻松搞定本文原创 2020-11-12 12:18:59 · 160 阅读 · 0 评论 -
leetcode640求解方程C++代码
class Solution { public: string solveEquation(string equation) { int x=0,num=0,t=1; int i=-1,j=0; equation.push_back('+'); while(j<equation.size()){ // cout<<"j"<<j<<endl; if(e原创 2020-12-04 11:46:25 · 215 阅读 · 0 评论 -
C++分数表达式加减运算实现
C++11虽然有radio库,但用起来也没那么方便 string fractionAddition(string expression) { expression.push_back('+'); vector<int> fenzi; vector<int> fenmu; int i=expression[0]=='-'?0:-1,j=0; while(j<expression.size()){原创 2020-12-04 11:11:15 · 631 阅读 · 0 评论 -
【leetcode451】根据字符出现频率排序,哈希表加优先队列解法
题文 给定一个字符串,请将字符串里的字符按照出现的频率降序排列。 样例 样例1 输入: “tree” 输出: “eert” 解释: 'e’出现两次,'r’和’t’都只出现一次。 因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。 样例2 输入: “cccaaa” 输出: “cccaaa” 解释: 'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。 注意"cacaca"是不正确的,因为相同的字母必须放在一起。 样例3 输入: “Aabb” 输出: “bb原创 2020-10-14 15:18:38 · 340 阅读 · 3 评论 -
简化路径【栈模拟解法】
题文: 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径 请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能以 / 结尾。此外,规范路径必须是表示绝对路径的最短字符串。原创 2020-09-15 19:57:52 · 159 阅读 · 0 评论 -
翻转字符串里的单词【stringstream解法】
题文 给定一个字符串,逐个翻转字符串中的每个单词。 说明: 无空格字符构成一个单词。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 样例 输入: " hello world! " 输出: “world! hello” 输入: “a good example” 输出: “example good a” 代码 string reverseWords(string& s) {原创 2020-09-15 18:51:51 · 277 阅读 · 0 评论 -
无重复字符的最长子串【动态规划解法】
目录题目描述样例思路初步代码分析与优化 题目描述 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 样例 > 输入: "abcabcbb" > 输出: 3 > 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串原创 2020-09-13 20:38:06 · 1451 阅读 · 0 评论 -
2020全国高校计算机能力挑战赛C++决赛代码分享
样例均过 1.模拟 #include<iostream> #include<string> #include<vector> #include<map> #include<set> #include<stack> #include<unordered_map> #include<unordered_set> #include<algorithm> #include<iomanip> usi原创 2020-12-20 11:45:54 · 1200 阅读 · 4 评论