赞
踩
目录
day9的题目都比较简单,就不赘述了
我的思路很清晰也很简单易懂:
把输入数据存入字符串string s,定义一个string ret,然后逆置string s,将s中的数一个一个存入ret,每三个数加一个逗号,最后逆置ret后输出就行。
- #include <iostream>
- #include <algorithm>
- using namespace std;
- #define int long long
- signed main()
- {
- string si;
- cin >> si;
- string tmp;
- reverse(si.begin(), si.end());
- for (int i = 0; i < si.size(); ++i)
- {
- if (i + 1 < si.size() && (i + 1) % 3 == 0)
- {
- tmp += si[i];
- tmp += ',';
- }
- else
- {
- tmp += si[i];
- }
- }
- reverse(tmp.begin(), tmp.end());
- cout << tmp << endl;
- }
基本dp问题:
- #include <iostream>
- using namespace std;
- const int N = 60;
- int dp[N];
- int main()
- {
- int n;
- cin >> n;
- // 初始化
- dp[1] = 1;
- dp[2] = 2;
- for (int i = 3; i <= n; ++i)
- {
- dp[i] = dp[i - 1] + dp[i - 2];
- }
- cout << dp[n] << endl;
- return 0;
- }
我当时的思路是排完序之后分情况讨论,即分别有几个零的情况:
- class Solution {
- public:
- // 哈希加分类
- int cnt0 = 0;
- bool IsContinuous(vector<int>& numbers) {
- for (auto i : numbers) {
- if (i == 0)
- cnt0++;
- }
- sort(numbers.begin(), numbers.end());
- if (cnt0 == 4)
- return true;
- if (cnt0 == 3)
- if (numbers[4] - numbers[3] < 5 && numbers[4] !=numbers[3])
- return true;
- if (cnt0 == 2) {
- for (int i = 2; i < 4; ++i) {
- if (numbers[i + 1] - numbers[i] > 1) {
- cnt0 = cnt0 - (numbers[i + 1] - numbers[i]) + 1;
- }
- }
- if (cnt0 >= 0)
- return true;
- }
- if (cnt0 == 1) {
- for (int i = 1; i < 4; ++i) {
- if (numbers[i + 1] - numbers[i] > 1) {
- cnt0 = cnt0 - (numbers[i + 1] - numbers[i]) + 1;
- }
- }
- if (cnt0 >= 0)
- return true;
- }
- if (cnt0 == 0) {
- for (int i = 0; i < 4; ++i) {
- if (numbers[i + 1] - numbers[i] != 1)
- return false;
- }
- return true;
- }
- return false;
- }
- };
还有一种优质解法就是先找出规律:
随后直接秒了:
- class Solution
- {
- bool hash[14] = { 0 };
- public:
- bool IsContinuous(vector<int>& numbers)
- {
- int maxVal = 0, minVal = 14;
- for (auto x : numbers)
- {
- if (x)
- {
- if (hash[x]) return false;
- hash[x] = true;
- maxVal = max(maxVal, x);
- minVal = min(minVal, x);
- }
- }
- return maxVal - minVal <= 4;
- }
- };
这种数学解法值得学习,虽然我个人觉得有点难想到。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。