笔试——3.31腾讯笔试

news2024/12/27 11:11:29

整体难度尚可,ac了三道半,第四题没什么时间了没怎么看。

第一题

#include<bits/stdc++.h>
using namespace std;

vector<vector<pair<int, int>>>arr;
vector<int>visited;
//res 1 white 0
int cnt = 0;

void dfs(int x)
{
    if (visited[x])return;
    visited[x] = 1;
    if (arr[x].size() == 0)
    {
        cnt++;
        return;
    }
    bool good = true;
    for (int i = 0; i < arr[x].size(); i++)
    {
        if (arr[x][i].second == 0)
        {
            good = false;
            break;
        }
        dfs(arr[x][i].first);
    }
    if (good)cnt++;
    //visited[x]=0;
}

int main()
{
    int n, m;
    cin >> n >> m;
    arr.resize(n + 1);
    visited.resize(n + 1, 0);
    for (int i = 0; i < m; i++)
    {
        int u, v;
        char ch;
        cin >> u >> v >> ch;
        if (ch == 'R')
        {
            arr[u].emplace_back(v, 1);
            arr[v].emplace_back(u, 1);
        }
        else
        {
            arr[u].emplace_back(v, 0);
            arr[v].emplace_back(u, 0);
        }
    }
    for (int i = 1; i <= n; i++)
        dfs(i);
    cout << cnt;
}

第二题


/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 *	ListNode(int x) : val(x), next(nullptr) {}
 * };
 */
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param lists ListNode类vector
     * @return bool布尔型vector
     */
    vector<bool> canSorted(vector<ListNode*>& lists) {
        // write code here
        vector<bool>res;
        for (int i = 0; i < lists.size(); i++)
        {
            bool tempres = true;
            ListNode* head = lists[i];
            int maxval = head->val;
            ListNode* cur = head, * nxt = cur->next;
            while (cur && cur->val >= maxval)
            {
                maxval = cur->val;
                cur = cur->next;
            }
            while (cur && cur->next)
            {
                if (cur->next->val<cur->val || cur->next->val>maxval)
                    tempres = false;
                cur = cur->next;
            }
            res.push_back(tempres);
        }
        return res;

    }
};

第三题

#include<bits/stdc++.h>
#include<unordered_map>
using namespace std;

vector<int>fa;
vector<int>visited;
vector<vector<int>>arr;

int find(int x)
{
    if (fa[x] != x)
        fa[x] = find(fa[x]);
    return fa[x];
}

void add(int x, int y)
{
    int fx = find(x), fy = find(y);
    if (fx != fy)
        fa[fx] = fy;
}

void dfs(int x)
{
    if (visited[x] == 1)return;
    visited[x] = 1;
    for (int i = 0; i < arr[x].size(); i++)
    {
        add(x, arr[x][i]);
    }
}

int main()
{
    int n, m;
    cin >> n >> m;
    arr.resize(n + 1);
    for (int i = 0; i < m; i++)
    {
        int u, v;
        cin >> u >> v;
        arr[u].push_back(v);
        arr[v].push_back(u);
    }
    fa.resize(n + 1);
    visited.resize(n + 1, 0);
    for (int i = 1; i <= n; i++)
    {
        fa[i] = i;
    }
    for (int i = 1; i <= n; i++)
    {
        dfs(i);
    }
    unordered_map<int, int>map;
    int fa1 = INT_MAX, fa2 = INT_MAX;
    for (int i = 1; i <= n; i++)
    {
        int father = find(i);
        if (map.find(father) == map.end())
        {
            map[father] = 1;
            if (fa1 == INT_MAX)fa1 = father;
            else if (fa2 == INT_MAX)fa2 = father;
        }
        else map[father]++;
    }
    if (map.size() > 2)cout << 0;
    else cout << map[fa1] * map[fa2];


}

第四题

第五题

#include<bits/stdc++.h>
#include<string>
#include<unordered_map>
using namespace std;

vector<vector<int>>arr;
vector<vector<int>>visited;
int dst[7] = { 1,2,3,4,2,3,1 };
int res = 0;


void dfs(int row, int col, int index)
{
    if (index == 6)
    {
        if (arr[row][col] == dst[index])
        {
            res++;
        }
        return;
    }
    if (arr[row][col] != dst[index] || arr[row][col] == -1)return;
    //visited[row][col] = 1;
    dfs(row - 1, col, index + 1);
    dfs(row + 1, col, index + 1);
    dfs(row, col - 1, index + 1);
    dfs(row, col + 1, index + 1);
    //visited[row][col] = 0;
}

int main()
{
    //tencent:1234231     t1 e2 n3 c4 e2 n3 t1
    int n, m;
    cin >> n >> m;
    arr.resize(n + 2);
    visited.resize(n + 2);
    for (int i = 0; i <= n + 1; i++)
    {
        arr[i].resize(m + 2, -1);
        visited[i].resize(m + 2, 0);
    }
    for (int i = 1; i <= n; i++)
    {
        string str;
        cin >> str;
        for (int j = 1; j <= m; j++)
        {
            if (str[j - 1] == 't')arr[i][j] = 1;
            else if (str[j - 1] == 'e')arr[i][j] = 2;
            else if (str[j - 1] == 'n')arr[i][j] = 3;
            else if (str[j - 1] == 'c')arr[i][j] = 4;
        }
    }
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j < n; j++)
        {
            dfs(i, j, 0);
        }
    }
    cout << res;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1559575.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于OrangePi Zero2的智能家居项目(开发阶段)

智能家居项目的软件实现 紧接上文 基于OrangePi Zero2的智能家居项目&#xff08;准备阶段&#xff09;-CSDN博客 目录 一、项目整体设计 1.1项目整体设计 1.2具体划分 二、开发工作的前期准备 1、进行分类&#xff0c;并用Makefile文件进行管理 参考&#xff1a;自己创…

pajamas 0 publish repo fst in gitee

0. 好久没有blog了&#xff0c;真的好久了&#xff0c;先交代一波 因为半年来发生了很多&#xff0c;计划有变&#xff0c;辞工作&#xff0c;出去耍&#xff0c;找工作&#xff0c;重新计划… 从半年前开始&#xff0c;就想好了&#xff0c;最近这两年应该优先会写代码 &…

一篇讲明白 Hadoop 生态的三大部件

文章目录 每日一句正能量前言01 HDFS02 Yarn03 Hive04 HBase05 Spark及Spark Streaming关于作者推荐理由后记赠书活动 每日一句正能量 黎明时怀着飞扬的心醒来&#xff0c;致谢爱的又一天&#xff0c;正午时沉醉于爱的狂喜中休憩&#xff0c;黄昏时带着感恩归家&#xff0c;然后…

python实现模糊神经网络(pytorch版)

1 理论 模糊神经网络是一种基于模糊逻辑的神经网络模型&#xff0c;其主要用于处理模糊信息和不确定性的问题。模糊神经网络可以将输入数据映射到一个模糊集合中&#xff0c;然后通过一系列的模糊规则进行求解&#xff0c;最终输出一个模糊集合。 模糊神经网络的基本原理是将…

AMD GPUs - Radeon™ PRO W7900与NVIDIA 4000系列GPU性能

文心一言 RTX 4090的性能高于AMD Radeon PRO W7900。 RTX 4090具有760亿个晶体管、16384个CUDA核心和24GB高速镁光GDDR6X显存&#xff0c;在4K分辨率的游戏中持续以超过100FPS运行。RTX 4090采用全新的DLSS 3技术&#xff0c;相比3090TI&#xff0c;性能提升可达2~4倍&#x…

CSS实现元素边框渐变动画

前言&#xff1a; 边框流动动画是一种非常常见的效果&#xff0c;能够让网页看起来更加生动有趣。通过使用 CSS3&#xff0c;我们可以轻松地实现这种动画效果。本文将介绍如何使用 CSS3 实现边框流动效果&#xff0c;下面一起来看看吧。 示例图&#xff1a;边框是动画持续变化的…

MCRNet:用于乳腺超声成像语义分割的多级上下文细化网络

MCRNet&#xff1a;用于乳腺超声成像语义分割的多级上下文细化网络 摘要引言方法 MCRNet_ Multi-level context refinement network for semantic segmentation in breast ultrasound imaging 摘要 由于对比度差、目标边界模糊和大量阴影的不利影响&#xff0c;乳腺超声成像中…

文献阅读:通过 NeuronChat 从单细胞转录组推断神经元-神经元通信

文献介绍 「文献题目」 Inferring neuron-neuron communications from single-cell transcriptomics through NeuronChat 「研究团队」 聂青&#xff08;加利福尼亚大学欧文分校&#xff09; 「发表时间」 2023-02-28 「发表期刊」 Nature Communications 「影响因子」 16.6…

mysql8 功能特点

1.查询缓存 删除了 2.secondary engine 设置&#xff1a; MySQL默认的存储引擎是InnoDB&#xff0c;而引入Secondary Engine&#xff0c;用来实现同时支持多引擎&#xff0c;在同一个MySQL Server上挂多个存储引擎&#xff0c;在支持InnoDB的同时&#xff0c;还可以把数据存放…

CommunityToolkit.Mvvm----配置

一、介绍&#xff1a; CommunityToolkit.Mvvm 包&#xff08;又名 MVVM 工具包&#xff0c;以前称为 Microsoft.Toolkit.Mvvm&#xff09;是一个现代、快速和模块化的 MVVM 库。 它是 .NET 社区工具包的一部分&#xff0c;围绕以下原则生成&#xff1a; 独立于平台和运行时 - …

Pandas | value_counts() 的详细用法

value_counts() 函数得作用 用来统计数据表中&#xff0c;指定列里有多少个不同的数据值&#xff0c;并计算每个不同值有在该列中的个数&#xff0c;同时还能根据指定得参数返回排序后结果。 返回得是Series对象 value_counts(values,sortTrue, ascendingFalse, normalizeFal…

《Linux运维实战:达梦DM8数据库之基本操作》

一、创建表空间 1.1、使用客户端工具创建 1、使用 SYSDBA 用户登录 DM 管理工具。右键表空间模块&#xff0c;点击【新建表空间】&#xff0c;如下图所示&#xff1a; 2、可根据项目需要&#xff0c;修改表空间文件、路径、大小、是否自动扩充、扩充上限等信息&#xff0c;如下…

网络类型整理

1、点到点 &#xff1a;在一个网段内只能存在&#xff0c;两个物理节点 MA-多路访问 -- 在一个网段内物理节点的数量不限制 MA--- BMA NBMA 2、BMA -- 广播型多路访问 3、NBMA--非广播型多路访问 注&#xff1a;不同网络类型实际为不同的数据链路层技术&#xff1b;由于二…

力扣--对链表进行插入排序--147

该题是不带哨兵位的&#xff01;&#xff01;&#xff01; 目录 该题是不带哨兵位的&#xff01;&#xff01;&#xff01; 首先先进行带哨兵位的代码展示&#xff1a; 但是就提论题&#xff0c;力扣上的这道题&#xff0c;没有明确说明附带哨兵位&#xff0c;我们一律按照…

11-SpringSecurity:Session共享,菜鸟驿站java面试题

pom依赖 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-security org.springframework.boot spring-boot-starter-data-redis org.springframework.session spring-session-data-redis org.projectlombok lombok …

1.java 安装

操作步骤 下载: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html1 通过Xftp将下载下来的jdk上传到指定虚拟机上传到/usr目录下 2 通过Xshell连接到虚拟机&#xff0c;执行如下命令&#xff0c;解压文件&#xff1a; $ tar zxvf jdk-8u…

算法沉淀 —— 动态规划篇(简单多状态dp问题下)

算法沉淀 —— 动态规划篇&#xff08;简单多状态dp问题下&#xff09; 前言一、买卖股票的最佳时机含冷冻期二、买卖股票的最佳时机含手续费三、买卖股票的最佳时机 IV 前言 几乎所有的动态规划问题大致可分为以下5个步骤&#xff0c;后续所有问题分析都将基于此 1.、状态表示…

概率论经典题目-二维随机变量及分布--由概率密度求分布函数和概率

解答&#xff1a; 由概率密度函数求解分布函数的公式可知&#xff1a; 辅助图形加以确定积分上下限

LCX端口转发

LCX介绍 LCX是一款端口转发工具&#xff0c;分为Windows版和Linux版&#xff0c;Linux版本为PortMap。LCX有端口映射和端口转发两大功能&#xff0c;例如当目标的3389端口只对内开放而不对外开放时&#xff0c;可以使用端口映射将3389端口映射到目标的其他端口使用&#xff1b…

k8s1.28.8版本配置Alertmanager报警方式(邮件,企业微信)

文章目录 总结部署流程 Alertmanager 三大核心1. 分组告警2. 告警抑制3. 告警静默 报警过滤静默通知方案一&#xff1a;方案二&#xff1a; 抑制报警规则案例一 参考文档 自定义路由告警&#xff0c;分来自不同路由的告警&#xff0c;艾特不同的人员进行区分修改 alertmanager …