笔试强训(二)

一.牛牛的快递

https://www.nowcoder.com/practice/41b42e7b3c3547e3acf8e90c41d98270?tpId=290&tqId=39852&ru=/exam/oj

cpp 复制代码
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    double a;
    char b;
    cin >> a >> b;

    int ret = 0;

    if (a <= 1)
    {
        ret += 20;
    }
    else
    {
        ret += 20;
        a -= 1;
        ret += ceil(a);
    }

    if (b == 'y') ret += 5;

    cout << ret << endl;

    return 0;
}

二.最小花费爬楼梯

https://www.nowcoder.com/practice/9b969a3ec20149e3b870b256ad40844e?tpId=230&tqId=39751&ru=/exam/oj

cpp 复制代码
//楼顶在最后一个数组的后一个位置

//dp[i]表示到达i位置的最小花费(不计算当前位置的cost[i])
#include <iostream>
using namespace std;

const int N = 1e5 + 10;
int cost[N];
int n;
int dp[N];
int main() {
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> cost[i];
	}
	for (int i = 2; i <= n; i++)
	{
		dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);
	}
	cout << dp[n] << endl;
	return 0;
}

三.数组中两个字符串的最⼩距离

https://www.nowcoder.com/questionTerminal/2c6a0a8e1d20492f92941400036e0890

cpp 复制代码
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main()
{
    int n;
    string s1, s2;
    string s;

    cin >> n;
    cin >> s1 >> s2;

    int prev1 = -1, prev2 = -1, ret = 0x3f3f3f3f;
    for (int i = 0; i < n; i++)
    {
        cin >> s;
        if (s == s1) // 去前面找最近的 s2
        {
            if (prev2 != -1)
            {
                ret = min(ret, i - prev2);
            }
            prev1 = i;
        }
        else if (s == s2) // 去前面找 s1
        {
            if (prev1 != -1)
            {
                ret = min(ret, i - prev1);
            }
            prev2 = i;
        }
    }

    if (ret == 0x3f3f3f3f) cout << -1 << endl;
    else cout << ret << endl;

    return 0;
}
相关推荐
lly2024061 小时前
HTML与CSS:构建网页的基石
开发语言
一只会写代码的猫1 小时前
面向高性能计算与网络服务的C++微内核架构设计与多线程优化实践探索与经验分享
java·开发语言·jvm
是小胡嘛3 小时前
C++之Any类的模拟实现
linux·开发语言·c++
csbysj20204 小时前
Vue.js 混入:深入理解与最佳实践
开发语言
Gerardisite5 小时前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php
Want5955 小时前
C/C++跳动的爱心①
c语言·开发语言·c++
lingggggaaaa5 小时前
免杀对抗——C2远控篇&C&C++&DLL注入&过内存核晶&镂空新增&白加黑链&签名程序劫持
c语言·c++·学习·安全·网络安全·免杀对抗
phdsky5 小时前
【设计模式】建造者模式
c++·设计模式·建造者模式
H_-H5 小时前
关于const应用与const中的c++陷阱
c++
coderxiaohan6 小时前
【C++】多态
开发语言·c++