算法题
文章平均质量分 77
yuanjiaqi_k
这个作者很懒,什么都没留下…
展开
-
华为机试H51-100
*H53 杨辉三角形的变形 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1 1 4 10 16 19 16 10 4 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数、左上角数和右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置原创 2022-04-16 18:39:17 · 745 阅读 · 0 评论 -
C++中的STL学习
字符串中常用string类,总结常用功能头文件: #include string直接支持字符串连接string直接支持字符串的大小比较string直接支持子串查找和提取string直接支持字符串的插入和替换string同时具备字符串数组的灵活性,可以通过[ ]重载操作符来访问每个字符。...原创 2022-04-16 18:37:19 · 131 阅读 · 0 评论 -
动态规划问题
动态规划常见问题:基础,斐波那契数列f(n)=f(n-1)+f(n-2)背包问题打家劫舍股票问题子序列问题DP数组的定义以及下标的含义递推公式DP数组如何初始化DP数组遍历顺序原创 2022-04-14 16:26:35 · 128 阅读 · 0 评论 -
华为机试41-50
*H41 称砝码设置set数组用来去重,第一个砝码1{0,1,0+1},第二个还是1,{0,1,2}一个一个砝码累积temp=v[i],n个就循环n次set s(weight);//增加一个set数组复制不修改前的set,否则陷入无限循环#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int x; vector<int> v;原创 2022-04-07 16:21:26 · 159 阅读 · 0 评论 -
华为机试题31-40记录
H32 密码截取笨笨思路:用双指针的思想,遍历每个字母,时间复杂度高,但是容易想,每次从第一个字母开始遍历,i从前往后,j从后往前,当字母相同时num++,将flag设置为true,然后i++,j–,再次比对,如果不同,则i回到最初位置,j继续向前,直到i=j获得首字母为k的最长子串,k遍历整个字符串,来寻找最优解#include<bits/stdc++.h>using namespace std;int main(){ string s; cin>>s;原创 2022-04-01 12:00:47 · 136 阅读 · 0 评论 -
华为机试题21-30记录
简单密码字母判断islower(char c) :是否为小写字母isupper(char c): 是否为大写字母isdigit(char c) :是否为数字isalpha(char c) :是否为字母isalnum(char c): 是否为字母或者数字大小写转换toupper(char c): 字母小转大tolower(char c) :字母大转小更好思路,设置密码字典string Password_Transformation(string str){ //字典原创 2022-03-29 20:57:52 · 238 阅读 · 0 评论 -
华为机试题 11-20
数字颠倒#include<bits/stdc++.h>using namespace std;int main () { int nums; cin >> nums; string str = to_string(nums); reverse(str.begin(),str.end()); cout << str; return 0;}to_string(int n)将数值转化为字符串。返回对应的字符串。r原创 2022-03-18 19:15:36 · 343 阅读 · 0 评论 -
华为机试题 1-10
字符串最后一个单词长度#include<stdio.h>#include<string.h>const int maxn=5010;int main(){ char str[maxn]; gets(str); int len=strlen(str); int num=0; for(int i=len;i>=0;i--){ if(str[i]!=' '&& str[i]!='\0') num++;原创 2022-03-04 22:52:25 · 296 阅读 · 0 评论