每日OJ题_牛客_对称之美_哈希_C++_Java

目录

牛客_对称之美_哈希

题目解析

C++代码

Java代码


牛客_对称之美_哈希

对称之美 (nowcoder.com)

描述:
        给出n个字符串,从第1个字符串一直到第n个字符串每个串取一个字母来构成一个新字符串,新字符串的第i个字母只能从第i行的字符串中选出,这样就得到了一个新的长度为n的字符串,请问这个字符串是否有可能为回文字符串?


题目解析

        左右指针判断回文串。 判断左右指针相等的时候,应该看看两个字符串中有没有相同的字符。

C++代码

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
    int T = 0;
    cin >> T;
    while(T--)
    {
        int n = 0;
        cin >> n;
        vector<string> vStr(n);
        for(int i = 0; i < n; ++i)  
        {
            cin >> vStr[i];
        }
        // 枚举最左边的每一个字符,和最右边的每一个字符相比,有一样的就是true
        int left = 0, right = n - 1;
        while(left < right)
        {
            bool flag = false;
            for(auto& e1 : vStr[left])
            {
                for(auto& e2 : vStr[right])
                {
                    if(e1 == e2)
                    {
                        flag = true;
                        break;
                    }
                }
                if(flag)
                    break;
            }
            if(!flag)
            {
                cout << "No" << endl;
                break;
            }
            ++left;
            --right;
        }
        if(left >= right)
            cout << "Yes" << endl;
    }
    return 0;
}

Java代码

import java.util.*;
public class Main
{
    public static boolean check(boolean[][] hash, int left, int right)
    {
        for(int i = 0; i < 26; i++)
        {
            if(hash[left][i] && hash[right][i])
                return true;
        }
        return false;
    }

    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        int t = in.nextInt();
        while(t-- != 0)
        {
            int n = in.nextInt();
            // hash[i][j] 表⽰第 i 个字符串,j 字符是否出现过
            boolean[][] hash = new boolean[n][26]; 
            for(int i = 0; i < n; i++)
            {
                char[] s = in.next().toCharArray();
                for(char ch : s)
                {
                    hash[i][ch - 'a'] = true;
                }
            }

            int left = 0, right = n - 1;
            while(left < right)
            {
                if(!check(hash, left, right))
                    break;
                left++;
                right--;
            }

            if(left < right)
                System.out.println("No");
            else
                System.out.println("Yes");
        }
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安卓13屏蔽蓝牙匹配对话框 自动匹配 android13屏蔽蓝牙匹配对话框 自动匹配

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 设置 蓝牙连接的时候,会有匹配对话框提示。我们来实现自动配对。 2.问题分析 这里我们是通过点击操作来实现功能的,所以我们思路可以是自动点击功能的实现。 3.代码分…

Ubuntu 24.04 在 BPI-F3 上通过 SD 卡安装并从 NVME 运行

github 代码&#xff1a; https://github.com/rcman/BPI-F3 Ubuntu 24.04 现在正在我的 BPI-F3 上运行。很快会为 YouTube 制作一个视频。 这应该适用于任何版本的 Linux&#xff0c;仅在 Ubuntu 24.04 上测试过 入门 下载 Bianbu映像并使用您最喜欢的工具将其映像到微型 SD 卡…

选择排序-求和表达式

概述 选择排序算法复杂度计算&#xff0c;用到了求和表达式。&#xff08;以前学过&#xff0c;现在都忘了&#xff0c;记录一下&#xff09; 理解求和表达式的关键在于逐步拆分和简化。让我们一步一步来详细解释这个求和表达式&#xff1a; 求和表达式 求和表达式 分步求解 …

ESP32C3 开发板在Linux环境下,进行JTAG 调试演示-启明云端乐鑫代理商

JTAG 调试教程 本教程主要演示 esp32c3 开发板在 linux 环境下&#xff0c;通过 vscode 的 esp-idf 插件使用 jtag 调试工具。 esp32c3 不但内置了USB-JTAG&#xff0c;还内置了USB-SERIAL&#xff0c;仅需要一根USB线即可实现下载和调试仿真。 下面演示调试仿真的过程。 创…

系统思考—抓重点

最近与一些中小微企业的老板交流时&#xff0c;深刻感受到大家都陷入了一种忙碌的困境。在资源有限的情况下&#xff0c;到底该抓住什么&#xff1f;这个问题不仅关乎未来的战略&#xff0c;也与预算息息相关。面对复杂多变的市场环境&#xff0c;许多企业尝试了各种方法&#…

rpa批量发送邮件如何通过编辑器编发邮件?

rpa批量发送邮件的技巧&#xff1f;怎么使用rpa邮箱群发助手&#xff1f; 手动发送邮件变得越来越繁琐且效率低下。为了解决这一问题&#xff0c;越来越多的企业开始采用RPA技术来批量发送邮件。AokSend将详细探讨如何通过编辑器来实现rpa批量发送邮件的功能&#xff0c;从而提…

【JVM】—深入理解G1回收器——概念详解

深入理解G1回收器——概念详解 ⭐⭐⭐⭐⭐⭐ Github主页&#x1f449;https://github.com/A-BigTree 笔记链接&#x1f449;https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以&#xff0c;麻烦各位看官顺手点个star~&#x1f60a; 文章目录 深入理解G1回收器…

OceanBase 4.x 部署实践:如何从单机扩展至分布式部署

OceanBase 4.x 版本支持2种部署模式&#xff1a;单机部署与分布式部署&#xff0c;同时支持从单机平滑扩展至分布式架构。这样&#xff0c;可以有效解决小型业务向大型业务转型时面临的扩展难题&#xff0c;降低了机器资源的成本。 以下将详述如何通过命令行&#xff0c;实现集…

【JavaScript】LeetCode:71-75

文章目录 71 搜索插入位置72 搜索二维矩阵73 在排序数组中查找元素的第一个和最后一个位置74 搜索旋转排序数组75 寻找旋转排序数组中的最小值 71 搜索插入位置 二分查找在最后一轮比较中&#xff0c;mid所指向的值 > target&#xff0c;right往左收&#xff0c;此时left所指…

容器实战高手课---09 Page Cache:为什么我的容器内存使用量总是在临界点

你好&#xff0c;我是程远。 上一讲&#xff0c;我们讲了Memory Cgroup是如何控制一个容器的内存的。我们已经知道了&#xff0c;如果容器使用的物理内存超过了Memory Cgroup里的memory.limit_in_bytes值&#xff0c;那么容器中的进程会被OOM Killer杀死。 不过在一些容器的使…

MybatisPlus分页Page插件

分页Page插件 首先&#xff0c;要在配置类中注册MyBatisPlus的核心插件&#xff0c;同时添加分页插件。设置分页查询的配置类,interceptor只有拦截作用&#xff0c;功能需要自己添加。这里我们添加上分页查询功能。 import com.baomidou.mybatisplus.annotation.DbType; impo…

Java中的数组

一、数组的创建及初始化 1、创建数组 int 表示数组中元素类型 int[] 表示数组的类型 array 表示数组名 2、数组初始化 数组初始化可分为动态初始化和静态初始化&#xff0c;动态初始化只初始化数组的大小&#xff0c;而静态初始化是直接给出数组中的具体元素 动态初始化&am…

dlib库实现人脸检测

摘要 本文将向您介绍如何使用dlib库在图片以及视频中实现人脸识别检测。通过简单的Python代码&#xff0c;我们将展示如何定位图片中的人脸并绘制边框。 引言 人脸识别技术在当今世界越来越普及&#xff0c;应用场景广泛&#xff0c;如安全监控、身份认证、图像处理等。dlib…

OpenCV高级图形用户界面(11)检查是否有键盘事件发生而不阻塞当前线程函数pollKey()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 轮询已按下的键。 函数 pollKey 无等待地轮询键盘事件。它返回已按下的键的代码或如果没有键自上次调用以来被按下则返回 -1。若要等待按键被按…

考研C语言程序设计_语法相关(持续更新)

目录 一、语法题strlen转义字符内置数据类型字符串结束标志局部变量和全局变量名字冲突 局部优先switch语句中的关键字数组初始化是否正确注意define不是关键字C语言中不能用连等判断switch( )的括号里可以是什么类型?关于if关于switch关于while 二、程序阅读题有关static有关…

【重学 MySQL】六十九、揭秘级联约束,让你的数据库关系更智能、更强大!

【重学 MySQL】六十九、揭秘级联约束&#xff0c;让你的数据库关系更智能、更强大&#xff01; 级联约束的定义级联约束的类型级联约束的应用场景级联约束的实现方式级联约束的注意事项 在MySQL数据库中&#xff0c;级联约束是维护数据完整性和一致性的重要机制。它允许在执行某…

Spring源码分析:bean加载流程

背景 在Spring中&#xff0c;Bean的加载和管理是其核心功能之一&#xff0c;包括配置元数据解析、Bean定义注册、实例化、属性填充、初始化、后置处理器处理、完成创建和销毁等步骤。 源码入口 AbstractBeanFactory#doGetBean 具体源码流程如下&#xff1a; bean加载流程&#…

万界星空科技:智能称重打标系统

万界星空科技的称重系统是其为制造业&#xff0c;特别是线缆、漆包线、食品等行业提供的重要解决方案之一。以下是对该系统的详细介绍&#xff1a; 一、系统概述 万界星空科技称重系统是集成在其MES&#xff08;制造执行系统&#xff09;中的一个功能模块&#xff0c;专门用于…

数据结构之旅(顺序表)

前言: Hello,各位小伙伴们我们在过去的60天里学完了C语言基本语法,由于小编在准备数学竞赛,最近没有给大家更新,并且没有及时回复大家的私信,小编在这里和大家说一声对不起!,小编这几天会及时给大家更新初阶数据结构的内容,然后我们来学习今天的内容吧! 一. 顺序表的概念和结…

2024.10.15 sql

刷题网站&#xff1a; 牛客网 select device_id as user_infos_example from user_profile where id < 2 select device_id, university from user_profile where university"北京大学" select device_id, gender, age, university from user_profile where ag…