码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 力扣刷题 day46:10-16


    1.最大整除子集

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

    方法一:动态规划 

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

    2.猜数字大小 II 

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

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

     

    方法一:记忆化搜索 

     

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

  • 相关阅读:
    网络攻击的常见形式
    macOS Big Sur(macos11版本)
    InputStream输入字节流
    2022高考季征文获奖名单公布
    【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-Chapter25-井井有条
    【kernel exploit】CVE-2022-34918 nftable堆溢出漏洞利用(list_head任意写)
    高并发场景下更新数据库报错,记录一次 MySQL 死锁问题的解决
    Flask项目数据库配置、redis配置、session配置、csrf配置
    OpenGL实现GPU体渲染
    第五篇:强化学习基础之马尔科夫决策过程
  • 原文地址:https://blog.csdn.net/hhhh1ay/article/details/133872907
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号