C++笔试强训day19

目录

1.小易的升级之路

2.礼物的最大价值

3.对称之美


1.小易的升级之路

链接

模拟就行,唯一可能是难点得就是gcd(最大公约数)

#include <iostream>
using namespace std;
#define int long long
const int N = 1e5 + 10;
int arr[N];
int gcd(int a, int b)
{
	return b == 0 ? a : gcd(b, a % b);
}
signed main() {
	int n, init;
	cin >> n >> init;
	for (int i = 0; i < n; ++i)
		cin >> arr[i];
	for (int i = 0; i < n; ++i)
		if (init >= arr[i])
			init += arr[i];
		else
			init += gcd(init, arr[i]);
	cout << init << endl;
	return 0;
}

2.礼物的最大价值

链接

动态规划  -  路径问题。

typedef long long LL;
class Solution {
public:
	const static int N = 300;
	LL dp[N][N] = { 0 };
	int maxValue(vector<vector<int>>& grid) {
		int n = grid.size();
		int m = grid[0].size();
		for (int i = 1; i <= n; ++i)
			for (int j = 1; j <= m; ++j)
				dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + grid[i - 1][j - 1];
		return dp[n][m];
	}
};

3.对称之美

链接


从第1个字符串一直到第n个字符串每个串取一个字母来构成一个新字符串,新字符串的第i个字母只能从第i行的字符串中选出。

根据题意:

我们可以从两边开始(一个下标为0, 一个下标为 n - 1)开始遍历,如果一路遍历下来,所有的两边两个字符串中都有相同的字符,则返回Yes,若有一个没有则No

详细代码:

#include <iostream>
#include <vector>
using namespace std;
vector<string> vs(110);
// 哈希判断是否有相同字符
bool Check(string s, string t)
{
	int hash[128] = { 0 };
	for (auto c : s)
		hash[c]++;
	for (auto c : t)
		if (hash[c] != 0)
			return true;
	return false;
}
// 双指针
void solve()
{
	int n;
	cin >> n;
	for (int i = 0; i < n; ++i)
		cin >> vs[i];
	int flag = 1;
	int l = 0, r = n - 1;
	while (l < r)
	{
		if (!Check(vs[l], vs[r]))
			flag = 0;
		l++;
		r--;
	}
	if (flag == 1)
		cout << "Yes" << endl;
	else
		cout << "No" << endl;
}
int main() {
	int t;
	cin >> t;
	while (t--)
		solve();
}

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-05-13 12:14:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-13 12:14:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-13 12:14:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-13 12:14:03       20 阅读

热门阅读

  1. MySQL运维总结

    2024-05-13 12:14:03       15 阅读
  2. LeetCode 2391. 收集垃圾的最少总时间

    2024-05-13 12:14:03       11 阅读
  3. MySQL Undo Log、Redo Log、bin Log

    2024-05-13 12:14:03       8 阅读
  4. 哲学家就餐问题

    2024-05-13 12:14:03       12 阅读
  5. OpenCV图像转换处理

    2024-05-13 12:14:03       13 阅读
  6. C++贪心算法

    2024-05-13 12:14:03       11 阅读
  7. vty、带内/带外管理、带内/带外ip简介

    2024-05-13 12:14:03       15 阅读
  8. 未来城市更新要干哪些事?

    2024-05-13 12:14:03       10 阅读
  9. 前端开发如何切换node版本安装依赖

    2024-05-13 12:14:03       10 阅读