Leetcode周赛 | 2023-7-23

news2025/1/13 17:26:29

2023-7-23

  • 题1
    • 体会
    • 我的代码
  • 题2
    • 我的代码
  • 题3
    • 体会
    • 我的代码

题1

在这里插入图片描述

体会

01背包啊。01背包啊!怎么能一直往回溯上想!还是对动态规划太不熟悉了!这不就是01背包吗?还要别人提示才知道。

我的代码

class Solution:
    def numberOfWays(self, n: int, x: int) -> int:
        maxi = int(pow(n,1/x))+2
        dp = [0]*(n+1)
        dp[0] = 1
        for i in range(1,maxi):
            for j in range(n,0,-1):
                if j >= pow(i,x):
                    dp[j] += dp[j-pow(i,x)]
                
        return dp[n] % (pow(10,9)+7)
                

题2

在这里插入图片描述

我的代码

哈希,用双指针应该也可以。

class Solution:
    def sortVowels(self, s: str) -> str:
        t = list(s)
        temp = ['a','e','i','o','u','A','E','I','O','U']
        index = []
        n = len(s)
        haxi = [0]*58
        for i in range(n):
            if s[i] in temp:
                index.append(i)
                haxi[ord(s[i])-ord('A')]+=1
            else:
                t[i] = s[i]
        index.sort()
        count = 0
        for i in range(58):
            if haxi[i]!=0 :
                while haxi[i] :
                    t[index[count]] = chr(i + ord('A'))
                    count += 1
                    haxi[i]-=1
        return ''.join(t)
                
            

题3

在这里插入图片描述

体会

也是动态规划啊!怎么能又想回溯!这道题如果两层遍历会超时,要保存前面遍历过的,当前点为奇数的最大值,和当前点为偶数的最大值。

这个地方比较绕,可能想不明白,这里的奇偶性,指的是,当前遍历到的 nums[i] ,最大值指的是,下标在当前点的,得分总和的最大值。

因为当前位置的最大价值一定是由前面某个位置过来的,前面的那个位置的数,不是奇数就是偶数,那么我记录奇数的最大价值,和偶数的最大价值,就可以推出,当前点的最大价值了!

因为,当节点从 nums[j] 移动到 nums[i] 时,所获得的得分跟 nums[i] 有关,而和nums[j]没有直接关系,nums[j]的值,已经包含在最大价值中了。

我的代码

class Solution:
    def maxScore(self, nums: List[int], x: int) -> int:
        
        n = len(nums)
        dp = [-inf]*n
        
        dp[0] = nums[0]  
        maxi = nums[0]
        maxji = -inf
        maxou = -inf
        if nums[0] % 2 == 0:
            maxou = nums[0]
        else :
            maxji = nums[0]
        
        for i in range(1,n):      
            if nums[i] % 2 == 0 :
                
                dp[i] = max(maxou+nums[i],maxji+nums[i]-x)
                maxou = max(maxou,dp[i])
            else :
                dp[i] = max(maxou+nums[i]-x,maxji+nums[i])
                maxji = max(maxji,dp[i])
            
            maxi = max(maxi,dp[i])
        
        return maxi
        
        

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

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

相关文章

设计模式再探——状态模式

目录 一、背景介绍二、思路&方案三、过程1.状态模式简介2.状态模式的类图3.状态模式代码4.状态模式还可以优化的地方5.状态模式的项目实战,优化后 四、总结五、升华 一、背景介绍 最近产品中有这样的业务需求,不同时间(这里不是活动的执行时间&…

Spring 统一登录验证、数据格式返回、异常处理的实现

文章目录 spring统一功能实现前言1. 统一用户登录权限验证1.1 传统实现方式1.2 Spring AOP用户统一登录验证1.2.1 Spring 拦截器 2. 统一数据格式返回3. 统一异常处理 spring统一功能实现 前言 在上一篇博客我们介绍了Spring AOP以及简单使用了Spring AOP,这篇博客…

力扣 -- 122. 买卖股票的最佳时机 II

一、题目: 题目链接:122. 买卖股票的最佳时机 II - 力扣(LeetCode) 二、解题步骤 下面是用动态规划的思想解决这道题的过程,相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴。 三、参考代码: clas…

【数据可视化】基于Python和Echarts的中国经济发展与人口变化可视化大屏

1.题目要求 本次课程设计要求使用Python和ECharts实现数据可视化大屏。要求每个人的数据集不同,用ECharts制作Dashboard(总共至少4图),要求输入查询项(地点和时间)可查询数据,查询的数据的地理…

工业的相机与镜头(简单选型)

面阵相机,需要多大的分辨率?多少帧数? 前提条件: 1.被检测的物体大小 2.要求检测的精度是多少 3.物体是否在运动过程中进行检测,速度是多少 线阵相机选择(分辨率、扫描行数) 行频:每秒扫描多少行&#xf…

【GitOps系列】使用Kustomize和Helm定义应用配置

文章目录 使用 Kustomize 定义应用改造示例应用1.创建基准和多环境目录2.环境差异分析3.为 Base 目录创建通用 Manifest4.为开发环境目录创建差异 Manifest5.为预发布环境创建差异 Manifest6.为生产环境创建差异 Manifest 部署 Kustomize 应用部署到开发环境部署到生产环境 使用…

Python 逻辑回归:理论与实践

文章目录 1. 介绍1.1 什么是逻辑回归?1.2 逻辑回归的应用领域 2. 逻辑回归的原理2.1 Sigmoid 函数2.2 决策边界2.3 损失函数 3. 逻辑回归的实现3.1 数据准备3.2 创建逻辑回归模型3.3 模型训练3.4 模型预测3.5 模型评估 4. 可视化决策边界4.1 绘制散点图4.2 绘制决策…

《零基础入门学习Python》第056讲:论一只爬虫的自我修养4:网络爬图

今天我们结合前面学习的知识,进行一个实例,从网络上下载图片,话说我们平时闲来无事会上煎蛋网看看新鲜事,那么,熟悉煎蛋网的朋友一定知道,这里有一个 随手拍 的栏目,我们今天就来写一个爬虫&…

实验三 贪心算法

实验三 贪心算法 迪杰斯特拉的贪心算法实现 优先队列等 1.实验目的 1、掌握贪心算法的基本要素 :最优子结构性质和贪心选择性质 2、应用优先队列求单源顶点的最短路径Dijkstra算法,掌握贪心算法。 2.实验环境 Java 3.问题描述 给定带权有向图G (V…

前端对后端路径的下载//流文件下载

1.前端对后端路径的下载 2.流文件下载

25 MFC 数据库

文章目录 导入ADO库 导入ADO库 #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","rsEOF")void CADODlg::OnBnClickedBtnQuery() {//导入ADO库::CoInitialize(NULL);//初始化COM库_ConnectionPtr pCo…

OpenCv之人脸操作

目录 一、马赛克实现 二、人脸马赛克 三、人脸检测 四、多张人脸检测 一、马赛克实现 案例代码如下: import cv2 import numpy as npimg cv2.imread(8.jpg) # 马赛克方式一:缩小图片 # img2 cv2.resize(img,(600,400)) # # 马赛克方式二: # img2 cv2.resize(img,(600,4…

《中国算力服务研究报告(2023年)》发布在即

2023年,中共中央 国务院印发《数字中国建设整体布局规划》,强调“系统优化算力基础设施布局,促进东西部算力高效互补和协同联动。”算力服务涵盖支撑东西部算力高效联通的关键技术,在国家政策引导下,我国算力服务产业发…

SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现

SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现 实战前先做一个背景了解。 单体架构、SOA和微服务 单体架构:近几年技术的飞速发展,各种各样的服务已经进入到网络化。单体架构发布时只需要打成一个war或jar包发布即可&a…

动态内存管理基础详解

目录 1、为什么存在动态内存分配 2、动态内存函数的介绍 2.1 malloc和free 功能: 参数和返回值: 注意事项: tip: 2.2 calloc 2.3 realloc函数 功能: 参数和返回值: realloc开辟空间的两种情况 realloc会顺…

SAR合成孔径雷达中几何术语定义

《合成孔径雷达成像算法与实现》 术语定义 目标 波束覆盖区 星下点 雷达轨迹 速度 方位向 零多普勒面 最短距离 最近位置 零多普勒时刻 波束宽度 目标轨迹 信号空间和图像空间 距离 斜距平面 地距 斜视角 距离横向 目标 是被SAR照射的地球表面上的一…

内存的五大分区(自用水文)

1、堆区(heap)——由程序员分配和释放, 若程序员不释放,程序结束时一般由操作系统回收。注意它与数据结构中的堆是两回事 2、栈区(stack)——由编译器自动分配释放 ,存放函数的参数值&#xff0…

SpringMVC及注解介绍(一)

目录 1.什么是 Spring MVC? 2.创建一个SpringMVC项目 3.MVC定义 4.MVC和SpringMVC的关系 5.如何学SpringMVC 6.SpringMVC注解介绍 1.RequestMapping 2.ResponseBody 3.RestController Controller ResponseBody 4.更换五大注解 5.RequestMapping 是 post…

整车总线系列——FlexRay 五

整车总线系列——FlexRay 五 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能…

【NumPy 简单入门学习】

NumPy 简单入门学习 提示:仅记录需要记忆的知识点和不易理解的知识点 文章目录 NumPy 简单入门学习前言一、创建数组二、多维数组切片1.切片的多种形式2.数组的数学运算3.布尔屏蔽4.Where 函数 总结 前言 提示:这里可以添加本文要记录的大概内容&#x…