![](https://img-blog.csdnimg.cn/97c43b29031544c987176635fb52d4d5.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
偶尔用C++刷点算法题
C++刷算法题,保持思维
小张小张,考试不慌
这个作者很懒,什么都没留下…
展开
-
省份数量
省份数量1、问题2、算法标签3、通过代码4、题目链接1、问题2、算法标签并查集3、通过代码并查集算法实现代码class Solution {public: int fara[205]; int flag[205]; void init(int n){ for(int i=0;i<n;i++){ fara[i]=i; flag[i]=0; } } int f原创 2021-03-11 21:39:53 · 88 阅读 · 0 评论 -
颜色分类
颜色分类1、问题2、算法标签3、通过代码4、题目链接1、问题2、算法标签双指针算法3、通过代码双指针算法实现代码class Solution {public: void sortColors(vector<int>& nums) { int l=0,r=nums.size()-1; for(int i=l;i<=r;){ if(nums[i]<nums[l]){原创 2021-01-24 22:33:35 · 107 阅读 · 0 评论 -
插入区间
合并区间1、问题2、算法标签3、通过代码4、题目链接1、问题2、算法标签排序逻辑3、通过代码class Solution {public: vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) { vector<vector<int>> ans;原创 2021-01-23 21:49:07 · 87 阅读 · 0 评论 -
合并区间
合并区间1、问题2、算法标签3、通过代码4、题目链接5、题解链接1、问题2、算法标签排序+双指针算法3、通过代码排序+双指针算法实现代码class Solution {public: vector<vector<int>> merge(vector<vector<int>>& intervals) { vector<vector<int>> ans; if(inte原创 2021-01-22 22:50:04 · 74 阅读 · 0 评论 -
最长回文子串
最长回文子串1、问题2、算法标签3、通过代码4、题目链接5、题解链接1、问题2、算法标签动态规划算法3、通过代码动态规划算法实现代码class Solution {public: string longestPalindrome(string s) { int len=s.length(); string ans=""; vector<vector<int>> dp(len,vector<int&g原创 2021-01-18 21:24:17 · 61 阅读 · 0 评论 -
避免重复字母的最小删除成本
避免重复字母的最小删除成本1、问题2、算法标签3、通过代码4、题目链接1、问题2、算法标签贪心算法3、通过代码class Solution {public: int minCost(string s, vector<int>& cost) { if(s.length()==1){ return 0; } int ans=0; for(int i=1;i<s.length()原创 2020-12-17 19:50:24 · 101 阅读 · 0 评论 -
单词规律
单词规律1、问题2、算法标签3、通过代码4、题目链接1、问题2、算法标签1、双哈希表3、通过代码class Solution {public: bool wordPattern(string pattern, string s) { map<char,string> ans1; map<string,char> ans2; int len1=pattern.length(); int len2=s.原创 2020-12-16 19:39:22 · 105 阅读 · 0 评论 -
机器人的运动范围
机器人的运动范围1、问题2、算法标签3、通过代码4、题目链接1、问题2、算法标签1、DFS3、通过代码class Solution {public: set<pair<int,int> > ans; int flag[55][55]; bool check(int threshold, int rows, int cols){ int temp=0; while(rows>0){ te原创 2020-12-15 21:15:02 · 84 阅读 · 0 评论 -
A*路径搜索算法——JAVA实现
数字排列1、问题2、算法标签3、实现代码1>接口类2>接口实现类4、代码运行截图1、问题用A*搜索算法实现路径搜索,并将路径搜索的最终结果保存至文件中2、算法标签1、A*搜索3、实现代码1>接口类package ai;import java.io.File;import java.util.List;class Status{ public char mp[][]; public int tempx,tempy; public int fromx,fromy;原创 2020-12-14 21:36:03 · 319 阅读 · 0 评论 -
数字排列问题
数字排列1、问题2、算法标签3、实现代码4、题目链接1、问题2、算法标签1、DFS3、实现代码class Solution {public: set<vector<int>> temp_ans; vector<vector<int>> ans; void dfs(int len,int flag[],int t,vector<int> temp,vector<int> nums){原创 2020-12-14 21:19:54 · 113 阅读 · 0 评论 -
最小生成树——Prim、Kruskal
最小生成树——Prim、Kruskal1、问题2、算法标签3、实现代码1、问题2、算法标签1、Prim2、Kruskal3、实现代码#include<iostream>#include<iomanip>#include<algorithm>#include<cstring>#include<vector>#include<deque>#include<set>#include<queue&g原创 2020-12-13 14:56:01 · 62 阅读 · 0 评论 -
矩阵中的路径
矩阵中的路径1、问题2、算法标签3、通过代码4、题目链接1、问题2、算法标签1、DFS2、回溯3、通过代码class Solution {public: bool isused[500][500]; bool ans=false; int rows; int colums; void dfs(string path,string target,int x,int y,vector<vector<char>>& matr原创 2020-12-10 18:42:26 · 68 阅读 · 2 评论 -
字符串中第一个只出现一次的字符
字符串中第一个只出现一次的字符1、问题2、算法标签3、通过代码4、题目链接1、问题2、算法标签1、哈希表2、字符串处理3、通过代码class Solution {public: char firstNotRepeatingChar(string s) { int len=s.length(); if(len==0){ return '#'; } map<char,int> mp;原创 2020-12-09 15:16:55 · 252 阅读 · 0 评论 -
最长不含重复字符的子字符串
最长不含重复字符的子字符串问题算法标签通过代码题目链接问题算法标签1、双指针通过代码class Solution {public: int longestSubstringWithoutDuplication(string s) { int len=s.length(); map<char,int> mp; int ans=0; for(int i=0,j=0;j<len;j++){原创 2020-12-08 18:53:33 · 65 阅读 · 0 评论 -
蓝桥杯之《开心的金明》——基于动态规划的滚动数组
--------滚动数组及动态规划思想-------滚动数组·减少空间复杂度:在一些题目中,可能需要数组去记录一些过程,但有些时候,我们最后的结果并不需要得到这些中间过程,而是利用这些过程最终得到需要的结果,这是我们就可以利用滚动数组的思想重复利用那些不需要的数组数据,将新的过程数据放到那些数组空间中去。不恰当演示如下:动态规划·空间换时间:我的理解为每个阶段的最优状态可以从之前阶段的基础...原创 2020-02-29 10:45:32 · 113 阅读 · 0 评论 -
sine之舞
一、解题思路:<<递归>>1、首先,我们需要找到公式An以及Sn的规律,对此,我们可以写出前面几个值:对于An有:A1=sin(1)A2=sin(1-sin(2))A3=sin(1-sin(2+sin(3)))对于Sn有:(下方的An可直接将上面计算出的An式子代入,就意味着Sn函数中会调用An函数)A1=A1+1A2=(A1+2)A2+1A3=((A1......原创 2020-01-28 12:01:35 · 363 阅读 · 0 评论 -
把数字翻译成字符串
把数字翻译成字符串问题算法标签通过代码题目链接问题算法标签1、字符串处理2、动态规划通过代码class Solution {public: bool check(char a,char b){ if(a!='0'&&(a-'0')*10+(b-'0')<=25){ return true; } return false; } int getTrans原创 2020-12-07 22:00:35 · 58 阅读 · 0 评论