【周赛】第385场周赛

news2024/11/17 23:43:17

🔥博客主页: A_SHOWY
🎥系列专栏:力扣刷题总结录 数据结构  云计算  数字图像处理  力扣每日一题_ 

【1】100212.统计前后缀下标对

100212. 统计前后缀下标对 Ihttps://leetcode.cn/problems/count-prefix-and-suffix-pairs-i/

熟练掌握判断前后缀的bool方法就好。

c3e3a0545e10431b8c0bb0926f4c6a5e.png

class Solution {
public:
 bool isPrefix(const string& str,const string& prefix){
             if(str.length() < prefix.length()){
                 return false;
             }
             return str.substr(0,prefix.length()) == prefix;
        }

        bool isSuffix(const string& str,const string& suf){
            if(str.length() < suf.length()){
                return false;
            }
            return str.substr(str.length() - suf.length()) == suf;
        }
    int countPrefixSuffixPairs(vector<string>& words) {
       int sum = 0;
       for(int i = 0; i < words.size(); ++i){
           for(int j = i + 1; j < words.size(); ++j){
               if(isPrefix(words[j],words[i]) && isSuffix(words[j],words[i])){
                   sum++;
               }
           }
       }
    return sum;

    }
};

【2】100229 最长公共前缀的长度

100229. 最长公共前缀的长度https://leetcode.cn/problems/find-the-length-of-the-longest-common-prefix/

这道题目是一个较为简单的哈希表的问题,难点是能否想到转换成将arr1的所有元素的前缀存入哈希表,然后对arr2进行遍历,找最长的公共前缀(找最大的数),从最大的数,除以10操作,直到包含在st哈希表中。

  1. 将arr1的所有前缀存起来,让arr2从最大的数一直除以10找到最大(最长)公共前缀。
  2. 时间复杂度,对于一个数M,其长度为logM,arr1的长度为m,arr2的长度为n, 所以时间复杂度是O((m + n)log(M))
class Solution {
public:

    int longestCommonPrefix(vector<int>& arr1, vector<int>& arr2) {
        unordered_set<int> st;
        for(int x : arr1){
            for(;x;x /= 10){
                st.insert(x);
            }
        }
        int mres = 0;
        for(int x : arr2){
        for(;x && !st.contains(x); x /= 10);
            mres = max(mres,x);
        }
        
        return mres ? to_string(mres).length() : 0;
        
    }
}; 

 【3】出现频率最高的的质数

3044. 出现频率最高的质数https://leetcode.cn/problems/most-frequent-prime/

这道题目的主要特点就是繁琐,需要设置一个constexpr,然后要判断是否为质数,再进行循环模拟,最后求出出现次数最多的质数,如果一般多,还要比较大小。思路就是用哈希表存一下。

  1. 首先是第一部分求质数,熟练了就好,记住i从2开始,不然会报错除以0
  2. 第二部分就是记住constexpr设置8个方向,然后对每个点进行遍历,这里一定注意等号不要越界,每个方向一条道走到黑,只要不越界,然后记录这个数,判断是不是质数,是的话哈希表这个数就加一
  3. 最后一部分是判断了遍历,看谁的值大,就是次数多。 
class Solution {
public:
   static constexpr int dirs[8][2] = {{1,0},{1,-1},{0,-1},{-1,-1},{-1,0},{-1,1},{0,1},{1,1}};
   bool is_prime(int n){
    for(int i = 2; i * i <= n; i++){
        if(n % i == 0) {
            return false;
        }
    }
        return true;
   }
   
    int mostFrequentPrime(vector<vector<int>>& mat) {
        int m = mat.size();
        int n = mat[0].size();
        unordered_map<int,int> mp;
        for(int i = 0; i < m; i++){
            for(int j = 0; j < n; j++){
                for(auto &d : dirs){
                         int x = i + d[0];int y = j + d[1];
                         int v = mat[i][j];
                         while(x >= 0 && x < m && y >= 0 && y < n){
                             v= v * 10 + mat[x][y];
                             if(is_prime(v)){
                                 mp[v]++;
                             }
                             x += d[0];
                             y += d[1];
                         }
                }
            }
        }

        int ans = -1,mx_prime = 0;
            for(auto &[v,c] : mp){//v是数,c是个数
                if(c > mx_prime){
                         ans = v;
                         mx_prime = c;
                }
                else if(c == mx_prime){
                    ans = max(ans,v);
                }
            }
            return ans;
    }
};

 

 

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

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

相关文章

【解读】Gartner 2023 DevOps平台魔法四象限

2023年6月5日Gartner发布了DevOps平台魔法四象限洞察报告&#xff08;Magic Quadrant for DevOps Platforms DevOps&#xff09;&#xff0c;Gartner指出&#xff0c;DevOps平台正在成为DevOps工具链的一种更简单的替代品&#xff0c;为组织提供一套整合的集成能力。软件工程领…

力扣Lc17--- 345.反转字符串中的元音字母(java版)-2024年3月18日

1.题目 2.知识点 注1&#xff1a; indexOf() 是 Java 中 String 类的方法之一&#xff0c;它用于查找指定字符或字符串在字符串中第一次出现的位置。如果找到了该字符或字符串&#xff0c;则返回它在字符串中的索引位置&#xff08;从0开始&#xff09;&#xff0c;如果没有找…

【Linux下qt软件安装打包附带问题: dpkg: error processing package xxxx +解决方式+自我尝试+记录】

【Linux下qt软件安装打包附带问题&#xff1a; dpkg: error processing package xxxx 解决方式自我尝试记录】 1、前言2、实验环境3、问题说明4、我的努力与查到解决的方式&#xff08;1&#xff09;补充两个文件&#xff0c;让软件正常执行&#xff08;2&#xff09;尝试修复d…

Elasticsearch8.x版本Java客户端Elasticsearch Java API 如何并发修改

前言 并发控制&#xff0c;一般有两种方案&#xff0c;悲观锁和乐观锁&#xff0c;其中悲观锁是默认每次更新操作肯定会冲突&#xff0c;所以每次操作都要先获取锁&#xff0c;操作完毕再释放锁&#xff0c;适用于写比较多的场景。而乐观锁是默认每次更新操作都不会冲突&#…

51单片机学习笔记6 数码管显示

51单片机学习笔记5 数码管显示 一、动态数码管1. 动态数码管工作原理2. 工作过程3. 原理图&#xff08;1&#xff09;数码管及74HC245&#xff08;2&#xff09;74HC138译码器 4. 74HC245介绍&#xff08;1&#xff09;**功能**&#xff08;2&#xff09;**引脚**&#xff08;3…

文件操作和异常处理1-读写文件

Python 之 lambda 函数完整详解 & 巧妙运用&#xff1a; https://blog.csdn.net/PY0312/article/details/88956795

jeecg启动Sentinel 一直是空白页面 解决办法用 外部 Sentinel SpringCloud之Sentinel概述和安装及简单整合

jeecg启动Sentinel 一直是空白页面 解决办法用 外部 Sentinel SpringCloud之Sentinel概述和安装及简单整合 文章目录 jeecg启动Sentinel 一直是空白页面 解决办法用 外部 Sentinel SpringCloud之Sentinel概述和安装及简单整合 Sentinel概述基本介绍 Sentinel安装下载地址: http…

Spring boot2.7整合jetcache方法缓存

前面的文章 我们讲了 spring boot 整合 jetcache 做基本字符串数据缓存 但是 我这里有个这样的逻辑 我的 domain 包下 有一个 book 属性类 里面就 id 和 name 属性 设置了 对应的 set get函数 和一个整体的构造函数 package com.example.javadom.domain;public class book {pr…

一些 AI 工具

AI 搜索&#xff1a;Phind&#xff0c;perplexity AI聊天大模型&#xff1a;chatgpt&#xff0c; kimi&#xff08;国内可用&#xff0c;支持上传文件&#xff09; AI 机器人&#xff1a;https://www.coze.com/ AI工具集&#xff1b;https://ai-bot.cn/#term-2 agent GPT&a…

Windows错误码2503

2503错误码通常出现在Windows系统中&#xff0c;指的是安装或卸载程序时遇到的错误。 2503错误码表示在安装或卸载程序时发生了一些错误&#xff0c;可能是由于权限不足或某些文件被占用等原因导致的。 解决这个的方法包括&#xff1a; 1.以管理员运行程序安装。 2.如果程序右…

批量缩放图片,按比例轻松调整,高效处理一键完成

在数字化时代&#xff0c;图片处理已成为我们日常生活和工作中不可或缺的一部分。无论是为了网页制作、社交媒体分享&#xff0c;还是为了打印照片、制作相册&#xff0c;我们都需要对图片进行各种调整和优化。其中&#xff0c;按比例缩放图片是一个常见的需求。 第一步&#…

在连续请求过程中,如何取消上次的请求?

前言 这个问题想必很多朋友都遇到过&#xff0c;我再详细说一下场景&#xff01; 如 Boss 搜索框所示&#xff1a; 先输入1 再输入2 再输入3 再输入123 请求参数依次为&#xff1a;1 12 123 123123 请求参数通过右侧的 query 参数也可以看到&#xff0c;一共请求了四次。 不…

腾讯云优惠券领取的几种方法,助你降低云服务成本

随着云计算技术的广泛应用&#xff0c;越来越多的企业和个人选择使用云服务来降低运营成本、提高运营效率。腾讯云作为国内领先的云服务提供商&#xff0c;凭借其出色的性能、稳定性和安全性&#xff0c;赢得了广大用户的信赖。为了回馈用户&#xff0c;腾讯云经常推出各种优惠…

matlab simulink 工业汽轮机调节系统的模糊PID控制器设计

1、内容简介 略 72-可以交流、咨询、答疑 工业汽轮机调节系统的模糊PID控制器设计 工业汽轮机;调节系统;模糊PID;自调整论域 2、内容说明 略 摘要&#xff1a;针对汽轮机电、热栽荷存在不确定因素&#xff0c;简单的线性和非线性微分方程不能完全代表 实际调节系统&#…

数据库国产化探究及升级改造过程指导

一、背景 在信创“自主可控”的浪潮下&#xff0c;政企行业首当其冲&#xff0c;基于国产化信创的要求&#xff0c;本部门某业务后端应用也需要针对分析开源组件的风险和开源协议的商业应用限制&#xff1b;能用国产化替代的评估后尽可替代割接&#xff0c;本期针对传统数据库…

2024全新快递平台系统独立版小程序源码|带cps推广营销流量主+前端

2024全新快递平台系统独立版小程序源码|带cps推广营销流量主前端程序源码 程序介绍 快递代发快递代寄寄件小程序可以对接易达云洋一级总代 快递小程序&#xff0c;接入云洋/易达物流接口&#xff0c;支持选择快递公司&#xff0c;三通一达&#xff0c;极兔&#xff0c;德邦等&…

DensityCalculator 程序(1D 2D):通过 VMD 可计算 LAMMPS 轨迹的密度(一)

主要内容 “在分子动力学&#xff08;MD&#xff09;模拟中描述原子层面的结构信息是材料建模与模拟领域研究人员的一项必要任务。密度分布的可视化通常是结构表征中最重要的特性之一。可视化分子动力学&#xff08;VMD&#xff09;是一种广泛使用的分子可视化软件包&#xff…

vue中如何查看组件有哪些函数与变量

在开发的过程中&#xff0c;经常用到他人的框架&#xff0c;特别是开源框架比如element,uniapp等。其中就涉及到框架里对应的组件。而组件里又有哪些内置的函数&#xff0c;我们通常是去查官方文档。然后很多的时候需求的多样性&#xff0c;要改的地方也是不一样的&#xff0c;…

Java------数据结构之栈与队列(简单讲解)

本篇碎碎念&#xff1a;时隔n个月&#xff0c;继续写博客&#xff0c;假期落下的进度&#xff0c;在开学后努力追赶&#xff0c;假期不努力&#xff0c;开学徒伤悲啊&#xff0c;此时此刻真想对自己说一句&#xff0c;活该啊~~~~ 欠下的链表练习题讲解会在下次更新~~~~ 今日份励…

数仓建模简介

1 建模的意义 如果把数据看作图书馆里的书&#xff0c;我们希望看到它们在书架上分门别类地放置&#xff1b;如果把数据看作城市的建筑&#xff0c;我们希望城市规划布局合理&#xff1b;如果把数据看作电脑文件和文件夹&#xff0c;我们希望按照自己的习惯有很好的文件夹组织方…