当前位置:   article > 正文

C++笔试强训day8

C++笔试强训day8

目录

1.求最小公倍数

 2.数组中的最⻓连续⼦序列

3.字母收集


1.求最小公倍数

链接

这就是一道普通的数学题。

最大公倍数 = A * B / A 与 B之间的最大公约数。

最大公约数求法:辗转相除法(或者可以用<numeric>头文件中的gcd)

  1. #include <iostream>
  2. using namespace std;
  3. int gcd(int a, int b)
  4. {
  5. if(b == 0) return a;
  6. return gcd(b, a % b);
  7. }
  8. int main()
  9. {
  10. int a, b;
  11. cin >> a >> b;
  12. cout << (a * b / gcd(a, b)) << endl;
  13. return 0;
  14. }

 2.数组中的最⻓连续⼦序列

链接

因为题目要求值连续,但是位置可以不连续,于是我就想到了可以先去排序,然后采用类似滑动窗口的思想去遍历所有长度,边遍历边更新len。

代码:

  1. class Solution {
  2. public:
  3. int MLS(vector<int>& arr) {
  4. if (arr.size() == 1)
  5. return 1;
  6. sort(arr.begin(), arr.end());
  7. int len = 0;
  8. int l = 0, r = 1;
  9. int cnt = 1;
  10. while (true)
  11. {
  12. if (arr[r] == arr[l] + cnt)
  13. {
  14. cnt++;
  15. r++;
  16. }
  17. else if (arr[r] == arr[l] + cnt - 1)
  18. {
  19. r++;
  20. }
  21. else
  22. {
  23. cnt = 1;
  24. len = max(len, arr[r - 1] - arr[l] + 1);
  25. l = r;
  26. r++;
  27. }
  28. if (r == arr.size())
  29. {
  30. len = max(len, arr[r - 1] - arr[l] + 1);
  31. break;
  32. }
  33. }
  34. return len;
  35. }
  36. };

3.字母收集

链接

我看到这个方格子直接就想去DFS了,简直无语了。DFS半天,给自己都DFS懵逼了。

其实这题正解是dp(动态规划)

而且是很基本的动态规划,只比斐波那契难一点点。

  1. #include <iostream>
  2. using namespace std;
  3. const int N = 520;
  4. int dp[N][N];
  5. char mp[N][N];
  6. int n, m;
  7. int main() {
  8. cin >> n >> m;
  9. for (int i = 1; i <= n; ++i) {
  10. for (int j = 1; j <= m; ++j) {
  11. cin >> mp[i][j];
  12. }
  13. }
  14. for (int i = 1; i <= n; ++i) {
  15. for (int j = 1; j <= m; ++j) {
  16. dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
  17. if (mp[i][j] == 'l')
  18. dp[i][j] += 4;
  19. if (mp[i][j] == 'o')
  20. dp[i][j] += 3;
  21. if (mp[i][j] == 'v')
  22. dp[i][j] += 2;
  23. if (mp[i][j] == 'e')
  24. dp[i][j] += 1;
  25. }
  26. }
  27. cout << dp[n][m] << endl;
  28. return 0;
  29. }

从一开始存入图,方便初始化。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/563518
推荐阅读
相关标签
  

闽ICP备14008679号