【LeetCode】每日一题 2024_10_14 鸡蛋掉落(记忆化搜索)

server/2024/10/18 22:51:42/

前言

每天和你一起刷 LeetCode 每日一题~

LeetCode 启动!

题目:leetcode.cn/problems/super-egg-drop/description/?envType=daily-question&envId=2024-10-14" rel="nofollow">鸡蛋掉落

代码与解题思路

今天的题目是昨天的进阶版,昨天给了 2 个鸡蛋,让我们求在一栋有 n 层楼的建筑中扔鸡蛋的最大操作次数

但是今天的题目给了 k 个鸡蛋,这也意味着没法通过数学或者说找规律的形式来取巧了,只能老老实实的用动态规划的思想去做(我的弱项 . . . 所以今天就没有我的核心思路讲解了呜呜)

func superEggDrop(k int, n int) int {memo := [][]int{{}}var dfs func(int, int) intdfs = func(i, j int) (res int) {if i == 0 || j == 0 {return}// 记忆化p := &memo[i][j]if *p != 0 {return *p}defer func() {*p = res}()return dfs(i-1, j) + dfs(i-1, j-1) + 1}for i := 1; ; i++ {memo = append(memo, make([]int, k+1))if dfs(i, k) >= n {return i }}
}

题目思路与趣闻

这道题居然是 Google 的经典面试题,推荐这道题的讲解视频:【复工复产找工作?先来看看这道面试题:双蛋问题】 在力扣讨论区看到的推荐

每天进步一点点,我们明天不见不散~

可以和我刷一辈子的每日一题吗?
一题一题,积累起来就是一辈子。


http://www.ppmy.cn/server/132882.html

相关文章

Whisper 音视频转写

Whisper 音视频转写 API 接口文档 api.py import os import shutil import socket import torch import whisper from moviepy.editor import VideoFileClip import opencc from fastapi import FastAPI, File, UploadFile, Form, HTTPException, Request from fastapi.respons…

opencv 答题卡检测项目实现

在教育和考试领域,答题卡自动评分系统能够大大提高效率和准确性。本文将介绍如何使用OpenCV库实现一个简单的答题卡检测项目。这个项目包括读取图像、检测答题卡轮廓、透视变换、二值化处理、检测选择题答案,并最终计算得分。 导入库和定义常量 import …

oracle_查询建表语句

查询建表语句 SELECTdbms_metadata.get_ddl ( TABLE, <table_name> ) FROMdualdbms_metadata.get_ddl&#xff1a;是Oracle提供的一个函数&#xff0c;用于获取数据库对象的DDL语句&#xff0c;它允许你查看或导出数据库对象的创建脚本‘TABLE’&#xff1a; 是这个函数…

方法:禁止修改word文件的某些地方

工作中&#xff0c;我们可能会在word中制作一些请柬、表格之类的&#xff0c;有些文件内容不想要进行修改&#xff0c;为了防止他人随意修改内容。我们可以设置限制编辑&#xff0c;可以对一部分内容设置限制编辑&#xff0c;具体方法如下&#xff1a; 我们将需要将可以编辑的…

买卖股票的最佳时机(动态规划方法总结)

总结一下&#xff0c;买卖股票系列的动态规划思想&#xff0c;贪心解法或者其他解法不做描述。 总结 121. 买卖股票的最佳时机 只有一次交易机会&#xff0c;每天有两种状态&#xff1a;持有股票和不持有股票&#xff1b; 122. 买卖股票的最佳时机 II 有多次交易机会&#x…

JMM(Java Memory Model)

JMM(Java Memory Model)即Java内存模型,是Java虚拟机(JVM)规范中所定义的一种内存模型。它是一个逻辑上的抽象概念,仅仅是一组约定或规范,用于描述Java程序中多线程并发访问共享内存时的行为。以下是关于JMM的详细解释: 一、JMM的定义与作用 定义:JMM是Java虚拟机中定…

Ubuntu安装Mysql并实现远程登录【ubuntu 24.04/mysql 8.0.39】

一、安装MySQL sudo apt update # 更新软件源 sudo apt install mysql-server -y # 安装 mysql --version # 查看版本 sudo systemctl status mysql # 查看运行状态 netstat -tln # 以数字ip形式显示mysql的tcp监听状态二、设置MySQL的root密码 sudo mysql -u root # 使…

Node.js配置Typescript自动编译

我们使用Node.js编译运行typescript&#xff0c;通常是以下两个命令 tsc app.ts node app.js 这种方式很繁琐&#xff0c;下面分享给大家自动编译typescript的方法。 1. 初始化一个新项目&#xff1a; mkdir tsdemo cd tsdemonpm init -y //生成package.json2. 安装 TypeSc…