前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【模拟】蛇形矩阵 / z字形变换 / 数青蛙 / 牛牛冲钻五

【模拟】蛇形矩阵 / z字形变换 / 数青蛙 / 牛牛冲钻五

作者头像
_小羊_
发布于 2025-04-09 00:35:47
发布于 2025-04-09 00:35:47
6100
代码可运行
举报
文章被收录于专栏:C++C++
运行总次数:0
代码可运行

简写单词

BC149 简写单词

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <bits/stdc++.h>
using namespace std;

int main()
{
    string str, ret;
    getline(cin, str);
    char ch = str[0];
    if (ch >= 'a' && ch <= 'z') ch -= 32;
    ret += ch;
    for (int i = 1; i < str.size(); i++)
    {
        if (str[i] == ' ')
        {
            char ch = str[i + 1];
            if (ch >= 'a' && ch <= 'z') ch -= 32;
            ret += ch;
        }
    }
    cout << ret << endl;
    return 0;
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <bits/stdc++.h>
using namespace std;

int main()
{
    string str;
    while (cin >> str)
    {
        char ch = str[0];
        if (ch >= 'a' && ch <= 'z') ch -= 32;
        cout << ch;
    }
    return 0;
}

牛牛的快递

BC64 牛牛的快递

我还是太菜了,这题做了十多分钟…

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <iostream>
using namespace std;

int main() 
{
    float a;
    char b;
    cin >> a >> b;
    int ret = 20; // 起步价20
    if (b == 'y') ret += 5;
    if (a > 1)
    {
        a--;
        while (a > 0)
        {
            ret++;
            a--;
        }
    } 
    cout << ret;
    return 0;
}

蛇形矩阵

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <iostream>
using namespace std;

int arr[101][101];
int dx[4] = { -1, 0, 1, 0 }, dy[4] = { 0, 1, 0, -1 };

int main()
{
    int n, m;
    cin >> n >> m;
    int a = 0, b = 0, d = 1;
    for (int i = 1; i <= n * m; i++)
    {
        arr[a][b] = i;
        int x = a + dx[d], y = b + dy[d];
        // 如果走到边界,或者该位置已经填过了,此时改变方向
        if (x < 0 || x == n || y < 0 || y == m || arr[x][y])
        {
            d = (d + 1) % 4;
            x = a + dx[d], y = b + dy[d];
        }
        a = x, b = y;
    }
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
            cout << arr[i][j] << " ";
        cout << endl;
    }
    return 0;
}

螺旋矩阵

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
public:
    vector<int> spiralOrder(vector<vector<int>>& matrix) {
        int dx[4] = { -1, 0, 1, 0 }, dy[4] = { 0, 1, 0, -1 };
        int m = matrix.size(), n = matrix[0].size();
        vector<int> ret(m * n);
        vector<vector<bool>> used(m, vector<bool>(n));
        int a = 0, b = 0, d = 1; // 开始的方向是向右
        for (int i = 0; i < m * n; i++)
        {
            ret[i] = matrix[a][b];
            used[a][b] = true;
            int x = a + dx[d], y = b + dy[d];
            if (x < 0 || x == m || y < 0 || y == n || used[x][y])
            {
                d = (d + 1) % 4;
                x = a + dx[d], y = b + dy[d];
            }
            a = x, b = y;
        }
        return ret;
    }
};

除2!

先把所有的数加起来,在这个过程之中把偶数放到堆中,在遍历这个全是偶数的堆k次,每次让所有数之和减去最大偶数的一半,如果最大偶数除2后还是偶数还要重新添加到堆中,在这个过程中还要关注堆是否已经空了。

这道题还需要关注数据范围的问题,很明显需要用到 long long 类型。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <bits/stdc++.h>
using namespace std;

using ll = long long;
priority_queue<ll> q;
ll n, k, t, sum = 0;

int main()
{
    cin >> n >> k;
    while (n--)
    {
        cin >> t;
        sum += t;
        // 把偶数存进堆
        if (t % 2 == 0) q.push(t);
    }
    while (!q.empty() && k--)
    {
        t = q.top() / 2;
        q.pop();
        sum -= t;
        if (t % 2 == 0) q.push(t);
    }
    cout << sum << endl;
    return 0;
}

替换所有的问号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
public:
    string modifyString(string s) {
        int n = s.size();
        for (int i = 0; i < n; i++)
            if (s[i] == '?')
                for (char ch = 'a'; ch <= 'z'; ch++)
                    if ((i == 0 || s[i - 1] != ch) && (i == n - 1 || s[i + 1] != ch))
                        s[i] = ch;
        return s;
    }
};

提莫攻击

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
public:
    int findPoisonedDuration(vector<int>& timeSeries, int duration) {
        int ret = duration;
        for (int i = 1; i < timeSeries.size(); i++)
        {
            int tmp = timeSeries[i] - timeSeries[i - 1];
            if (tmp >= duration) ret += duration;
            else ret += tmp;
        }
        return ret;
    }
};

Z 字形变换

画图,找规律、然后模拟实现。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
public:
    string convert(string s, int numRows) {
        if (numRows == 1) return s;
        int n = s.size();
        int d = 2 * numRows - 2;
        string ret;
        // 1.处理第一行
        for (int i = 0; i < n; i += d)
            ret += s[i];
        // 2.处理第k行
        for (int k = 1; k < numRows - 1; k++)
        {
            for (int i = k, j = d - k; i < n || j < n; i += d, j += d)
            {
                if (i < n) ret += s[i];
                if (j < n) ret += s[j];
            }
        }
        // 3.处理最后一行
        for (int i = numRows - 1; i < n; i += d)
            ret += s[i];
        return ret;
    }
};

外观数列

硬模拟,毫无技巧可言。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
public:
    string countAndSay(int n) {
        string ret("1");
        while(--n)
        {
            string tmp;
            for (int l = 0, r = 0; r < ret.size();)
            {
                while (ret[l] == ret[r]) r++;
                tmp += to_string(r - l) + ret[l];
                l = r;
            }
            ret = tmp;
        }
        return ret;
    }
};

数青蛙

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Solution {
public:
    int minNumberOfFrogs(string croakOfFrogs) {
        string str("croak");
        int n = str.size();
        vector<int> hash(n);
        unordered_map<char, int> index(n); // 绑定字符和下标
        for (int i = 0; i < n; i++) index[str[i]] = i;
        for (auto ch : croakOfFrogs)
        {
            if (ch == 'c')
            {
                if (hash[n - 1]) hash[n - 1]--;
                hash[0]++;
            }
            else
            {
                int i = index[ch];
                if (hash[i - 1] == 0) return -1;
                hash[i - 1]--;
                hash[i]++;
            }
        }
        for (int i = 0; i < n - 1; i++) 
            if (hash[i]) return -1;
        return hash[n - 1];
    }
};

牛牛冲钻五

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <iostream>
using namespace std;

int main()
{
    int t; cin >> t;
    while (t--)
    {
        int n, k;
        cin >> n >> k;
        string str; cin >> str;
        int ret = 0, count = 0;
        for (auto ch : str)
        {
            if (ch == 'W' && count >= 2) ret += k;
            else if (ch == 'W') ret++, count++;
            else ret--, count = 0;
        }
        cout << ret << endl;
    }
    return 0;
}

本篇文章的分享就到这里了,如果您觉得在本文有所收获,还请留下您的三连支持哦~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Python | 爬虫爬取智联招聘(进阶版)
运行平台: Windows Python版本: Python3.6 IDE: Sublime Text 其他工具: Chrome浏览器
用户1634449
2018/10/18
3.2K0
Nebula Graph 在微众银行数据治理业务的实践
自我介绍下,我是微众银行大数据平台的工程师:周可,今天给大家分享一下 Nebula Graph 在微众银行 WeDataSphere 的实践情况。
NebulaGraph
2020/12/22
1.7K0
Nebula Graph 在微众银行数据治理业务的实践
Python | 爬虫抓取智联招聘(基础版)
运行平台: Windows Python版本: Python3.6 IDE: Sublime Text 其他工具: Chrome浏览器
用户1634449
2018/10/18
1.3K0
图数据库 Nebula Graph 在 HBaseCon Asia2019 的分享实录
HBaseCon Asia2019 活动于 2019 年 7 月 20 日于北京金隅喜来登酒店举办,应主办方邀请,Nebula Graph 技术总监-陈恒在活动中发表演讲 “Nebula: A Graph DB based on HBase” 。本篇文章是根据此次演讲所整理出的技术干货,全文阅读需要 30 分钟。[image.png]
NebulaGraph
2019/07/26
1.2K0
爬虫爬取智联招聘的职位信息(基础)
简单爬取智联招聘的内容,爬之前在网上找关于这方面的代码,最后发现都不行,智联现在的招聘信息都是js加载,直接请求响应不到响应的内容,只能使用selenium,通过selenium加载,网页加载完成后返回page_source。
andrew_a
2019/07/30
8270
爬虫爬取智联招聘的职位信息(基础)
爬虫0601:scrapy实战scrapy实战:智联招聘数据采集
采集的数据要被封装起来进行使用,找到并修改zhilianspider/zhilianspider/items.py,修改内容如下:
大牧莫邪
2018/08/27
6690
Nebula Graph 在众安金融的图实践
> 本文首发于 **[Nebula Graph Community 公众号](https://nebula-website-cn.oss-cn-hangzhou.aliyuncs.com/nebula-blog/WeChatOffical.png)**
NebulaGraph
2022/03/30
5820
抓取58job, 赶集job以及智联招聘,并使用数据分析生成echarts图
**抓取58job, 赶集job以及智联招聘,并使用数据分析生成echarts图**
andrew_a
2019/07/30
9290
抓取58job, 赶集job以及智联招聘,并使用数据分析生成echarts图
Nebula Graph|信息图谱在携程酒店的应用
对于用户的每一次查询,都能根据其意图做到相应的场景和产品的匹配”,是携程酒店技术团队的目标,但实现这个目标他们遇到了三大问题…本文着重讲述他们是如何构建场景与信息关系,用 Nebula 处理关联关系,从而快速返回场景化定制推荐信息给酒店用户的实践过程。
NebulaGraph
2022/05/12
5350
Nebula Graph|信息图谱在携程酒店的应用
Nebula Graph 系列(1) —— 初识 Nebula
Nebula Graph 是一个高性能、可线性扩展、开源的分布式图数据库。Nebula Graph 采用 shared-nothing 分布式架构,企业可针对性对业务进行扩缩容。
求和小熊猫
2022/05/07
1.8K0
Nebula Graph 系列(1) —— 初识 Nebula
人才招聘系统开发全解析:从技术底层到商业逻辑的完整架构优雅草卓伊凡|小无|果果|阿才
一个完整的人才招聘系统远比表面看起来复杂,优雅草科技的”蜻蜓HR”系统经过一年半的开发迭代,才完成第一阶段的核心功能。以下是必须实现的基础模块:
卓伊凡
2025/06/04
1000
推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF_TDM_Airbnb Embedding_Item2vec等)、召回路
召回这里稍微有些复杂,因为召回是多路的。首先我们要解释主路和旁路的差别,主路的意义和粗排类似,可以看作是一个入口更大,但模型更加简单的粗排。主路的意义是为粗排分担压力。但是旁路却不是这样的,旁路出现的时机往往是当主路存在某种机制上的问题,而单靠现在的这个模型很难解决的时候。举个例子,主路召回学的不错,但是它可能由于某种原因,特别讨厌影视剧片段这一类内容,导致了这类视频无法上升到粗排上。那这样的话整个系统推不出影视剧片段就是一个问题。从多路召回的角度来讲,我们可能需要单加一路专门召回影视剧的,并且规定:主路召回只能出3000个,这一路新加的固定出500个,两边合并起来进入到粗排中去。这个栗子,是出现旁路的一个动机。
汀丶人工智能
2023/02/22
3.6K0
京东电商推荐系统实践
说到推荐系统,最经典的就是协同过滤,上图是一个协同过滤的例子。协同过滤主要分为俩种:user-based 基于用户的协同过滤和 item-based 基于商品的协调过滤。
石晓文
2019/08/13
2.7K0
京东电商推荐系统实践
Geospatial Data 在 Nebula Graph 中的实践
本文主要介绍了地理空间数据(Geospatial Data)以及它在 Nebula Graph 中的具体实践。
NebulaGraph
2022/02/22
8590
Geospatial Data 在 Nebula Graph 中的实践
全方位讲解 Nebula Graph 索引原理和使用
index not found?找不到索引?为什么我要创建 Nebula Graph 索引?什么时候要用到 Nebula Graph 原生索引?针对社区常见问题,本文旨在一文带大家搞清索引使用问题。
NebulaGraph
2022/03/31
1.2K0
全方位讲解 Nebula Graph 索引原理和使用
基于 Nebula Graph 构建百亿关系知识图谱实践
微澜是一款用于查询技术、行业、企业、科研机构、学科及其关系的知识图谱应用,其中包含着百亿级的关系和数十亿级的实体,为了使这套业务能够完美运行起来,经过调研,我们使用 Nebula Graph 作为承载我们知识图谱业务的主要数据库,随着 Nebula Graph 的产品迭代,我们最终选择使用 v2.5.1 版本的 Nebula Graph 作为最终版本。
NebulaGraph
2022/06/27
7390
基于 Nebula Graph 构建百亿关系知识图谱实践
推荐系统经典算法之协同过滤
在开始讲推荐算法之前,我们先简单了解一下推荐系统的架构,对算法在推荐系统中的定位有一个初步的认知;一个完整的推荐系统会包含特征工程、召回、过滤、兜底、重排、abTest三部分,其中召回和排序模块会用到算法模型。
小晨说数据
2022/03/09
1.4K0
推荐系统经典算法之协同过滤
图数据库综述与 Nebula 在图数据库设计的实践
第三期 nMeetup( nMeetup 全称:Nebula Graph Meetup,为由开源的分布式图数据库 Nebula Graph 发起的面向图数据库爱好者的线下沙龙) 活动于 2019 年 8 月 3 日在上海陆家嘴的汇丰银行大楼举办,我司 CEO -- Sherman 在活动中发表《 Nebula Graph Internals 》主题演讲 。本篇文章是根据此次演讲所整理出的技术干货,全文阅读需要 30 分钟,我们一起打开图数据库的知识大门吧~
NebulaGraph
2019/08/12
2.8K0
学姐问我推荐系统是怎么做的?我用23张图带她搞懂!
做广告业务1年多时间了,但是平时的工作主要和广告工程有关,核心的广告算法由 AI 部门支持,对我们而言可以说是「黑盒般」的存在,只需要对训练好的模型进行调用即可。
Guide哥
2020/09/27
8400
学姐问我推荐系统是怎么做的?我用23张图带她搞懂!
基于协同过滤的推荐系统
原公式中,只考虑用户消费用一种商品,而没有考虑用户消费同一种商品处在不同时期。如果用户消费了物品i和物品j,如果消费时间间隔越近,那么这次“同现”的权重应该越大,间隔越远权重越小。在分子上除以间隔时间,惩罚时间间隔影响。
birdskyws
2018/11/22
1.9K0
推荐阅读
相关推荐
Python | 爬虫爬取智联招聘(进阶版)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档