力扣刷题 day46:10-16

news2025/1/15 16:41:24

1.最大整除子集

给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:
answer[i] % answer[j] == 0 ,或
answer[j] % answer[i] == 0
如果存在多个有效解子集,返回其中任何一个均可。

方法一:动态规划 

#方法一:动态规划
def largestDivisibleSubset(nums):
    nums=sorted(nums) #先排序
    res=[[i] for i in nums]  #表示以i结尾的最大整除子集
    m=[nums[0]]  #结果
    for i in range(len(nums)):
        for j in range(i):
            if nums[i]%res[j][-1]==0 and len(res[j])+1>len(res[i]):
                res[i]=res[j]+[nums[i]]  #找到当前元素能整除的前面子集的最末尾元素,并且可以更新以当前元素结尾的子集
        if len(res[i])>len(m):
            m=res[i]  #更新结果
    return m

2.猜数字大小 II 

我们正在玩一个猜数游戏,游戏规则如下:

我从 1 到 n 之间选择一个数字。
你来猜我选了哪个数字。
如果你猜到正确的数字,就会 赢得游戏 。
如果你猜错了,那么我会告诉你,我选的数字比你的 更大或者更小 ,并且你需要继续猜数。
每当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。如果你花光了钱,就会 输掉游戏 。
给你一个特定的数字 n ,返回能够 确保你获胜 的最小现金数,不管我选择那个数字 。

 

方法一:记忆化搜索 

 

#方法一:记忆化搜索
def getMoneyAmount(n):
    def dfs(i,j):
        if i+1==j:
            return i #只有两个数,猜最小的,然后就知道答案了
        if i ==j:
            return 0 #只有一个数,不用猜了
        res=float('inf')
        for k in range(i+1,j):
            res=min(res,max(dfs(i,k-1),dfs(k+1,j))+k)  #分成三个部分 i,k-1 k k+1,j
        return res
    return dfs(1,n)

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

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

相关文章

2.SpringSecurity - 处理器简单说明

文章目录 SpringSecurity 返回json一、登录成功处理器1.1 统一响应类HttpResult1.2 登录成功处理器1.3 配置登录成功处理器1.4 登录 二、登录失败处理器2.1 登录失败处理器2.2 配置登录失败处理器2.3 登录 三、退出成功处理器3.1 退出成功处理器3.2 配置退出成功处理器3.3 退出…

前端需要了解的浏览器缓存知识

文章目录 前言为什么需要缓存?DNS缓存缓存读写顺序缓存位置memory cache(浏览器本地缓存)disk cache(硬盘缓存)重点!!! 缓存策略 - 强缓存和协商缓存1)强缓存ExpiresCach…

认识测试---什么是测试?

文章目录 测试软件测试的性质测试人员的基本素养什么是需求什么是BUG 开发模型和测试模型软件的生命周期开发模型瀑布模型螺旋模型增加,迭代敏捷开发scrume 测试模型V模型W模型(双V模型) 测试 一个好的开发者,不仅要懂技术也要懂…

【cpu_entry_area mapping】SCTF2023-sycrop

前言 也算学习到了,这样对 DB_stack 的利用与 pt_regs 很相似。都是利用在用户态切换在内核态时,会保存用户态的上下文信息在内核栈中,所以我们就可以控制部分内核栈中的数据,以此为我们栈迁移做好准备。 程序分析 启动脚本啥的…

14-k8s-基本存储之EmptyDir、HostPath、NFS

文章目录 一、相关概念二、EmptyDir存储三、HostPath存储四、NFS存储 一、相关概念 概述 Volumn定义在Pod上,然后被该Pod里面的多个容器挂载到具体的文件目录下。实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储。Volume的生命周期不和Pod中的单个容器的…

出海 SaaS 企业增长修炼手册:聊聊 PLG 的关键指标、技术栈和挑战

产品驱动增长 Product-Led Growth (PLG) 近几年可谓火遍海外 SaaS 圈,但想要真正落地 PLG 还是存在不少挑战的。了解 PLG 背后的增长指标,不仅可以帮助企业跟上发展节奏,更能从纷繁复杂的业务细节中获取有价值洞察。那么,如何高效…

【3】c++11新特性(稳定性和兼容性)—>类成员的快速初始化

在进行类成员变量初始化的时候,C11标准对于C98做了补充,允许在定义类的时候在类的内部直接对非静态变量进行初始化,在初始化的时候可以使用等号,也可以使用花括号{},等号可以省略不写;静态成员变量需要在类…

二叉树的三种遍历方式的本质

二叉树的定义就不在这里多说了,下面这个图就是一个简单的二叉树: 二叉树的三种遍历方式: 前序遍历:头左右,也就是先头后左再右:1245367 public static void prePrint(BinaryTreeNode root) {if (root ! n…

pycharm社区版创建Django项目的一种方式

pycharm社区版创建Django项目 pycharm创建New project安装django,如果安装过可略过安装完成后查看安装情况生成Django项目需要的文件这里注意生成语句后面的 . 不可以省略 生成文件后,框架搭建完成,配置启动我这里在配置完后,报了…

徐建鸿:深耕中医康养的“托钵行者”

为什么是“庄人堂”?杭州“庄人堂”医药科技公司董事长徐建鸿很乐意和别人分享这个名称的由来,一方面是庄子首先提出“养生”这个概念,接近上工治未病的上医,取名“庄人堂”代表庄子门生,向古哲先贤致敬!另…

vscode使用code runner乱码

"code-runner.executorMap": {"python": "set PYTHONIOENCODINGutf8 && python $fullFileName"}

unordered_set unordered_map 的封装

目录 1. 哈希的概念 1.1. 哈希冲突 1.2. 哈希函数: 1. 直接定址法 2. 除留余数法 1.3. 闭散列实现哈希 1.4. 开散列实现哈希 2. 哈希的应用 2.1 位图的概念 2.1.1. 问题: 2.2.1. set ​编辑 2.2.2. reset 2.2.3. test() 2.2. 位图的实现…

软件工程与计算总结(十五)详细设计中面向对象方法下的信息隐藏

软件工程与计算总结(十三)详细设计中的模块化与信息隐藏 之前的博客中,模块需要隐藏的决策主要由“职责的实现”and“实现的变更”两类,在面向对象方法中,需要做到的就是: 封装类的职责,隐藏职…

MyBatisPlus(十九)自动填充

说明 自动填充指的是,当数据被 插入 或者 更新 的时候,会为指定字段进行一些默认的数据填充。 比如,插入时,会自动填充数据的创建时间和更新时间;更新时,会自动填充数据的更新时间。 实现方式 配置处理器…

python--短路运算,把0、空字符串和None看成 False,其他数值和非空字符串都看成 True

代码 print(3 and 4 and 5) # 5 print(5 and 6 or 7) # 6 4 > 3 and print(‘hello world’) # 输出hello world 注释: 在逻辑运算中,不一定逻辑运算符的两边都是纯表达式。也可以是数值类型的数据。 Python把0、空字符串和None看成 False&#xff…

字节码进阶之Lombok底层原理

字节码进阶之Lombok底层原理 文章目录 前言lombok 原理Lombok工作原理 举个简单的例子 前言 例如,我们经常在Java代码中为类的属性生成getter和setter方法,这是一种重复且繁琐的工作。使用Lombok可以极大地简化这个过程。 假设我们有如下的Java类&…

微软AutoGen框架:让聊天解决问题成为一种“酷”体验!

今天要给大家介绍一款在人工智能领域引起巨大轰动的产品——微软AutoGen框架。这款框架的出现,让多个LLM智能体通过聊天来解决任务成为可能,令人激动不已! 首先,我们先来了解一下LLM智能体。LLM代表"Language Learning Mode…

【MySQL】索引的增删查

上篇博客讲解了索引的底层结构 本篇介绍索引的使用 文章目录 一. 主键索引二. 唯一键索引三. 普通索引四. 全文索引五. 查询索引六. 删除索引结束语 一. 主键索引 MySQL默认会按照主键索引进行排序 关键字:primary key 即使建表时没有指明主键,MySQL也会…

25.0 MySQL 数据库概述

1. 数据库介绍 1.1 简介 数据库是用于存储, 管理和组织数据的一种技术.使用数据库有以下几个重要的原因: * 1. 数据的持久化存储: 数据库可以将数据持久地保存在磁盘上, 确保数据在计算机系统关闭或发生故障时不会丢失.这样可以保证数据的安全性和可靠性.* 2. 数据共享和协作…

excel+requests管理测试用例接口自动化框架

背景: 某项目有多个接口,之前使用的unittest框架来管理测试用例,将每个接口的用例封装成一个py文件,接口有数据或者字段变动后,需要去每个py文件中找出变动的接口测试用例,维护起来不方便,为了…