马蹄集第33周

news2024/11/24 20:52:19

题目一

无重复字串的最长字串

解题思路:

双指针:设置两个指针L,R,分别指向traget的开头和结尾,并且使用一个哈希表存储char到int的映射,然后R++,当出现重复的字符,那么要在对应的哈希表里面--。

代码:


def main():
    s=input()
    m=[0]*(256)
    count=0
    i,j=0,0
    m[ord(s[0])] = 1
    while i<len(s) and j<len(s)-1:#i为左指针,j为右指针
        j+=1
        if(m[ord(s[j])]==0):
            m[ord(s[j])]+=1
        else:#当遇到相同元素回退
            while s[i]!=s[j]:
                m[ord(s[i])]-=1
                i+=1
            i+=1
        result = s[i:j + 1]
        count = max(j-i+1,count)
        # print(result)
    print(count)

if __name__ == '__main__':
    main();

第二题:最小字串覆盖

思路:使用滑动窗口,当满足了包含target的条件开始删除滑动窗口的头部,知道达到最小的窗口体。
其实也就是每一次都包括两个操作:1、找到满足target的窗口2、删除滑动窗口头部。


def judge(s,t,l,r):

    m = [0] * (256)
    for i in t:
        m[ord(i)] += 1
    for i in range(l,r+1):
        if s[i] in t:
            m[ord(s[i])] -= 1
    for i in m:
        if i > 0:
            return False
    return True



def main():
    result = "No"
    s = input()
    t = input()
    l = r = 0   #定义一个滑动窗口
    num = 100000
    # print("字符串",len(s))
    while(r < len(s) and l<=r):
        if judge(s,t,l,r):
            # tmp = s[l:r + 1]
            # print("满足条件的字符串:",tmp)
            l += 1
            while judge(s,t,l,r):
                # tmp = s[l:r + 1]
                # print("滑动窗口缩小:",tmp)
                l+=1
            l -= 1
            if (r-l+1) < num:
                num = r-l+1
                result = s[l:r + 1]
        r += 1
    print(result)



if __name__ == '__main__':

    main();

第三题 方块桶

题目意思:

解题思路:

注意:不能只看空间两边的方块
思路:不断维护两边最高的高度


def main():
    n = int(input())
    a = [int(i) for i in input().split()]
    # print(n,a)
    l = 0
    r = n - 1
    maxl = a[0]
    maxr = a[n-1]
    ans = 0
    while l<r:
        if maxl <= maxr:
            l += 1
            maxl = max(maxl, a[l])
            ans += maxl - a[l]
        else:
            r -= 1
            maxr = max(maxr, a[r])
            ans += maxr - a[r]
    print(ans)

if __name__ == '__main__':
    main();

第四题:跑步

解题思路:没看懂,但是跟着例子顺了一遍大概是这个流程。

ahhhh反正我是写不出来这个代码

#include<bits/stdc++.h> 

using namespace std;

int n;
pair <int,int> a[100010];

int main( )
{
    scanf("%d",&n);
    for(int i = 1;i <= n; i++) {
        scanf("%d%d",&a[i].first,&a[i].second),a[i].second=-a[i].second;}
    sort(a+1,a+1+n);
    for(int i = 1; i <=n; i++){
        if(a[i].first == a[i+1].first) a[i].second = 1e9 -i;
        else a[i].second = -a[i].second;
    }
    int cur = 0, ans = 0,lst = 1e9;
    for(int i = n;i > 0;i--){
        if(a[i].second <= lst) lst = a[i].second,cur =0;
        ans = max(ans,++cur);
    }
    cout<<ans<<endl;
    return 0;
}

第五题:循环同构

解题思路

看着就很难,等有空再写

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

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

相关文章

借力互联网,民营医院探索互联网医疗服务的发展方向

民营医院互联网医疗服务是指利用互联网技术和平台&#xff0c;为患者提供更加便捷、高效的医疗服务。在当前数字化时代&#xff0c;互联网医疗服务正逐渐成为医疗行业的新趋势&#xff0c;也为民营医院开拓了更广阔的发展空间。下面将围绕这一主题进行讨论&#xff1a; 首先&a…

如何避免光模块接口受到污染?

光模块作为光通信领域一个重要的配件&#xff0c;实现光电和电光的转换&#xff0c;和光纤连接&#xff0c;承载了数据流量的快速转换与传输。因而在整个网络体系中&#xff0c;起着至关重要的作用。虽然光模块在使用过程中&#xff0c;不像交换机和服务器等网络设备一样需要经…

【插件、图表】7种图表漂亮丰富uniCharts(附精选源码32套,涵盖商城团购等)

使用unicharts实现折线图、区域图、柱状图、饼状图、雷达图、环形图、可拖动折线图 <template><view class"content"><view tap"gotoPage(line)" class"list-item"><text>折线图</text></view><view ta…

Lazada测评怎么做?

国内电商行业的发展日趋激烈&#xff0c;卖家想要脱颖而出非常困难&#xff0c;许多卖家选择入驻跨境电商平台开店&#xff0c; 跨境电商平台吸引了许多卖家入驻&#xff0c;而最近有很多朋友在私信问我关于Lazada测评的一些事情 Lazada产品测评流程步骤 怎么测评 这个怎么测…

ZYNQ PL 中断请求

1 中断概念 中断学习 2 ZYNQ 中断框图 上图为 zynq 中断分布框图。可以看到部分 PL 到 PS 部分的中断&#xff0c;经过中断控制分配器&#xff08;ICD&#xff09;&#xff0c; 同时进入 CPU1 和 CPU0。查询下面表格&#xff0c;可以看到 PL 到 PS 部分一共有 20 个中断可以使…

计算机毕业设计|基于SpringBoot+MyBatis框架的电脑商城的设计与实现(订单和AOP)

计算机毕业设计|基于SpringBootMyBatis框架的电脑商城的设计与实现&#xff08;订单和AOP&#xff09; 该项目分析着重于设计和实现基于SpringBootMyBatis框架的电脑商城。首先&#xff0c;通过深入分析项目所需数据&#xff0c;包括用户、商品、商品类别、收藏、订单、购物车…

中科亿海微除法器(DIVIDE)

技术背景 技术概述 FPGA实现除法运算是一个比较复杂的过程&#xff0c;因为硬件逻辑与软件程序的区别。如果其中一个操作数为常数&#xff0c;可以通过简单的移位与求和操作代替&#xff0c;但用硬件逻辑完成两变量间除法运算会占用较多的资源&#xff0c;电路结构复杂&#xf…

文件加密软件哪个好?文件加密软件大盘点

在使用电脑时&#xff0c;我们需要将机密文件、个人隐私等数据存放在电脑中。为了保护文件的安全&#xff0c;我们需要使用文件加密软件来进行保护。那么&#xff0c;文件加密软件哪个好呢&#xff1f;下面我们就来盘点一下。 超级加密3000 超级加密3000是一款专业的数据加密软…

office tool plus工具破解word、visio等软件步骤

第一步&#xff1a;下载工具 破解需要用到office tool plus软件 office tool plus软件下载地址&#xff1a;Office Tool Plus 官方网站 - 一键部署 Office 选择其中一个下载到本地&#xff08;本人选择的是第一个的云图小镇下载方式&#xff09; 第二步&#xff1a;启动工具 …

APP项目的推广方法

APP项目的成功与否与其推广策略密切相关&#xff0c;综合使用这些推广方法&#xff0c;可以帮助APP项目更广泛地被认知&#xff0c;吸引更多的用户&#xff0c;并提高应用在市场中的竞争力。以下是一些常用的APP推广方法&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公…

echarts 通用线性图

echarts 通用线性图 getLineData() {const myChart echarts.init(this.$refs.chartDom);const option {tooltip: {trigger: axis,},legend: {show: false,textStyle: {fontSize: 14, //字体大小color: #ffffff, //字体颜色},data: [AAA, BBB],},grid: {show: true,left: 10%,…

借助arthas 性能调优全过程

使用 arthas 的trace 命令分析方法耗时瓶颈&#xff1a; 可以看出 bindReloadZoneTimeLimite 耗时最久&#xff0c; 通过分析Bind 底层&#xff0c;将业务粒度进行拆分&#xff0c;加入并发执行 再次使用arthas 追踪单个方法耗时时间&#xff1a; 核心耗时方法&#xff0c…

pc数据通过插槽来设置启用未启用

使用三元表达式 <el-table-column prop"state" label"启用" width"180"><template v-slot"{ row }"><span>{{row.state 1 ? "已启用" : row.state 0 ? "未启用" : "无"}}</sp…

一加7Pro为PixelExperience系统编译kernelsu

前言 之前写了一篇文章为一加七Pro(LineageOs17.1 4.14内核版本)编译KernelSu&#xff0c;最近想换个系统玩玩&#xff0c;因为我发现我自己编译的系统总是被某些APP风控了&#xff0c;比如淘宝有些活动就参与不了。 正好可以试试PixelExperience&#xff0c;顺便为PixelExpe…

Shopee买家号想要多开怎么解决?

拥有多个Shopee买家号有很多优势。多账号可以帮助卖家获得更多流量、还能帮助提供关键词排名、提高销量等。 但是要管理多个Shopee买家号并非易事。面对不同账号的登录、注销和切换&#xff0c;可能会花费大量的时间和精力。而且&#xff0c;Shopee平台对于使用同一IP地址同时登…

淘宝平台商品详情平台订单接入说明

一 文档说明 本文档面向对象为电商平台商品详情数据和订单进行管理的第三方开发者或自研商家 二 支持范围 目前API已经支持订单的接单、取消、退单处理等操作。如果您的订单管理需求现有API不能满足&#xff0c;可以联系我们提出API需求。 参数说明 通用参数说明 参数不要乱…

[学习笔记]IK分词器的学习

IK分词器有几种模式 # 测试分词器 POST /_analyze {"text":"黑马程序员学习java太棒了","analyzer": "standard" }# 测试分词器 POST /_analyze {"text":"黑马程序员学习java太棒了","analyzer": &quo…

2023机器人灵巧手的分类与商业化应用及未来市场规模分析报告

今天分享的是机器人系列深度研究报告&#xff1a;《2023机器人灵巧手的分类与商业化应用及未来市场规模分析报告》。 &#xff08;报告出品方&#xff1a;深度行业分析研究&#xff09; 报告共计&#xff1a;26页 1 灵巧手是人形机器人重要的运控交互部件&#xff0c;近年来海…

Node——事件的监听与触发

Node.js是由事件驱动的&#xff0c;每个任务都可以当作一个事件来处理&#xff0c;本贴将对Node.js中的events模块及其中处理事件的类EventEmitter的使用进行详细讲解。 1、EventEmitter对象 在JavaScript中&#xff0c;通过事件可以处理许多用户的交互&#xff0c;比如鼠标…

定制网站软件app对企业的优势有哪些?|小程序搭建

定制网站软件app对企业的优势有哪些&#xff1f;|小程序搭建 定制网站软件和App对企业来说有许多优势。本文将探讨其中的一些重要优势。 首先&#xff0c;定制网站软件和App能够为企业提供个性化的解决方案。通过定制开发&#xff0c;企业可以根据自身的需求和目标来设计和构建…