【Leetcode -746.使用最小花费爬楼梯 -747.至少是其他数字两倍的最大数】

Leetcode

  • Leetcode -746.使用最小花费爬楼梯
  • Leetcode -747.至少是其他数字两倍的最大数

Leetcode -746.使用最小花费爬楼梯

题目:给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。
你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。
请你计算并返回达到楼梯顶部的最低花费。

示例 1:
输入:cost = [10, 15, 20]
输出:15
解释:你将从下标为 1 的台阶开始。

  • 支付 15 ,向上爬两个台阶,到达楼梯顶部。
    总花费为 15 。

示例 2:
输入:cost = [1, 100, 1, 1, 1, 100, 1, 1, 100, 1]
输出:6
解释:你将从下标为 0 的台阶开始。

  • 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。
  • 支付 1 ,向上爬两个台阶,到达下标为 4 的台阶。
  • 支付 1 ,向上爬两个台阶,到达下标为 6 的台阶。
  • 支付 1 ,向上爬一个台阶,到达下标为 7 的台阶。
  • 支付 1 ,向上爬两个台阶,到达下标为 9 的台阶。
  • 支付 1 ,向上爬一个台阶,到达楼梯顶部。
    总花费为 6 。

提示:
2 <= cost.length <= 1000
0 <= cost[i] <= 999

思路是动态规划,因为每次可以爬一个台阶,也可以爬两个台阶,所以每次取前两个台阶花费的较小值,再加上当前台阶需要的花费,就是当前的总花费;

如图,就数据 [1,100,1,1,1,100,1,1,100,1] 来说,初始应该是从第一个台阶开始走两个台阶,到 dpi,dpi 就是当前的总花费:

在这里插入图片描述
向后迭代,当前 dpi 取前两个值的较小值,再加上当前台阶的花费,就是当前新的的总花费了,即 3;这一步相当于计算从当前台阶 dp1 走一步到 dpi 需要的花费;

在这里插入图片描述
继续迭代,计算从当前的台阶 dp1 走一步到 dpi 这个台阶需要的花费 dpi;

在这里插入图片描述
就每次走一步,计算出 dpi 的较小值,这个 dpi 又作为下一个台阶判断的较小值的标准,这样迭代后面只剩下 dp0 和 dp1 最后两个台阶,取较小值即是最小的总花费;

		int minCostClimbingStairs(int* cost, int costSize){//定义第一个台阶和第二个台阶分别为 dp0 和 dp1int dp0 = cost[0], dp1 = cost[1];//动态规划//i从第三个台阶开始遍历,因为 dp0 和 dp1 走一个台阶或者两个台阶都可以到第三个台阶//dpi 取 dp0 和 dp1 的较小值,再加上当前台阶需要的花费,就为当前的总花费//然后迭代,将 dpi 赋给 dp1 ,dp1 赋给 dp0 ,dpi继续取前两个的较小值for (int i = 2; i < costSize; i++){int dpi = fmin(dp0, dp1) + cost[i];dp0 = dp1;dp1 = dpi;}//到最后的两个台阶,取较小的花费即可,因为最后两个台阶可以直接到顶部return fmin(dp0, dp1);}

Leetcode -747.至少是其他数字两倍的最大数

题目:给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。

请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 - 1 。

示例 1:
输入:nums = [3, 6, 1, 0]
输出:1
解释:6 是最大的整数,对于数组中的其他整数,6 至少是数组中其他元素的两倍。6 的下标是 1 ,所以返回 1 。

示例 2:
输入:nums = [1, 2, 3, 4]
输出: - 1
解释:4 没有超过 3 的两倍大,所以返回 - 1 。

示例 3:
输入:nums = [1]
输出:0
解释:因为不存在其他数字,所以认为现有数字 1 至少是其他数字的两倍。

提示:
1 <= nums.length <= 50
0 <= nums[i] <= 100
nums 中的最大元素是唯一的

思路是找出数组中的最大元素以及第二大的元素,判断最大元素是否大于两倍的第二大元素,如果是则返回提前记录的最大元素的下标,否则返回 -1;

		int dominantIndex(int* nums, int numsSize){//定义 max 为最大的元素,secmax 为第二大的元素,index 为最大元素的下标int max = -1, secmax = -1, index = 0;//遍历数组for (int i = 0; i < numsSize; i++){//如果当前元素大于 max ,先将 max 赋给 secmax//再将当前元素赋给 max,下标赋给 indexif (nums[i] > max){secmax = max;max = nums[i];index = i;}//当这个元素大于第二大的元素,而小于最大元素的时候,将这个元素赋给 secmaxelse if (nums[i] > secmax){secmax = nums[i];}}//最后判断 max 是否大于两倍的 secmax,再返回对应的值return max >= 2 * secmax ? index : -1;}

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

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

相关文章

华为智慧屏V55升级鸿蒙2,华为智慧屏s55和v55对比参数_华为智慧屏s55和v55哪个好...

华为智慧屏s55和v55都是二款非常受欢迎的电视产品型号&#xff0c;很多人在选择这二款产品时非常的纠结&#xff0c;那么华为智慧屏s55和v55到底哪个好呢&#xff1f;一起来看看华为智慧屏s55和v55参数对比吧~ 一、华为智慧屏s55和v55对比参数 1、华为智慧屏s55参数 功能参数内…

华为智慧屏鸿蒙评测,华为智慧屏S Pro体验:告诉你鸿蒙OS有多优秀?

华为智慧屏S Pro体验&#xff1a;告诉你鸿蒙OS有多优秀&#xff1f; 2021年03月03日 21:24作者&#xff1a;网络编辑&#xff1a;王动 分享 从华为这些年的产品发展路线可以看得出&#xff0c;物联网产品体系组建是华为未来的重点方向。而“电视”是物联网体系中重要的一环&…

华为智慧屏鸿蒙应用,华为智慧屏S Pro体验:告诉你鸿蒙OS有多优秀

原标题&#xff1a;华为智慧屏S Pro体验&#xff1a;告诉你鸿蒙OS有多优秀 从华为这些年的产品发展路线可以看得出&#xff0c;物联网产品体系组建是华为未来的重点方向。而“电视”是物联网体系中重要的一环&#xff0c;担当着客厅应用环境中的C位。因此&#xff0c;华为把投入…

非华为电脑实现华为一碰传、多屏协同安装指南

华为一碰传、多屏协同安装指南 000 安装多屏协同的前提&#xff1a;WIN10系统蓝牙适配器WIFI接收器&#xff08;支持5G才能成功、2.4G的不成功&#xff09; 000 安装一碰传的前提&#xff1a;WIN10系统NFC标签贴纸&#xff08;网络购买&#xff09; 001华为一碰传、多屏协同…

没有鸿蒙HarmonyOS,用这个软件也可以实现华为的多屏协助互动!

前几天华为发布了HarmonyOS 2不少小伙伴都应该知道了吧&#xff0c;相信有不少华为手机的小伙伴也应该体验到了&#xff0c;特别是多屏互动这个功能简直牛批到爆炸&#xff0c;而今天小七带来的这款软件&#xff0c;让你即使不用华为手机&#xff0c;华为电脑&#xff0c;也可以…

电脑系统没有自带的字体-楷体GB2312字体 免费版提供下载

楷体GB2312字体是一款电脑系统没有自带的字体。楷体GB2312字体如果没有&#xff0c;则会导致电脑中的某些软件显示不正常或者某些文档的文字显示不正常&#xff0c;它因执行GB2312-1980标准而得名&#xff0c;收字是6763个&#xff0c;是国标体&#xff0c;华军软件园提供下载地…

CSS3引入外部字体(苹方字体下载链接)

pingfang链接 &#xff1a; https://pan.baidu.com/s/1vyxkN-Edg17gVPHlnFoqsA 提取码&#xff1a;zwk0 CSS3引入代码&#xff1a; 等待引入的文件 font-face {font-family: 苹方黑体-准-简;src: url(../fonts/苹方黑体-准-简.ttf); } *{font-family: 苹方黑体-准-简; }

Android 字体ttf文件下载(含github下载地址)

含以下字体&#xff1a; github下载地址&#xff1a;https://github.com/Ice-Times/Android-ttf-download csdn下载地址&#xff1a;https://download.csdn.net/download/Ice_Times/12556432

LVGL中文字体制作

1、准备工作 lvgl原生不支持中文显示&#xff0c;但是lvgl官方提供了生成中文字体的工具。使用起来比较方便。LVGL支持的编码是UTF-8&#xff0c;而我们常用中文字体是GB2312。这就需要转换&#xff0c;大致的原理是&#xff0c;将现有字体中我们需要用的中文文字&#xff0c;…

用High-Logic FontCreator改进系统字体

我的windows11系统自带的微软雅黑字体&#xff0c;中文双引号是直引号而不是弯引号&#xff0c;而且缺少一些字&#xff0c;例如下面这个&#xff1a; 所以免不得要对这个字体进行一下改造。话说windows系统自带了一个“专用字符编辑程序”&#xff0c;但是这个程序实在要有很…

自动化测试经典面试题-定位不到元素

元素定位常见的面试相关问题 一、元素定位1、Selenium/Appium定位方法有几种&#xff1f;分别是&#xff1f;2、如何通过子元素定位父元素 二、元素定位不到1、定位不到元素是什么原因导致的&#xff1f;2、如何定位动态元素3、有的元素就加载页面上&#xff0c;但是你却定位不…

Android笔记--内存管理

内存(Memory)是计算机的重要部件&#xff0c;也称主存储器&#xff0c;它用于暂时存放CPU中的运算数据&#xff0c;以及与硬盘等外部存储器交换的数据。Android中&#xff0c;内存是如何分配的&#xff1f;当启动一个android程序时&#xff0c;会启动一个dalvik vm进程&#xf…

eventfd 和 epoll 的结合使用

一.eventfd介绍 eventfd 是 Linux 的一个系统调用&#xff0c;创建一个文件描述符用于事件通知&#xff0c;自 Linux 2.6.22 以后开始支持。 接口及参数介绍 #include <sys/eventfd.h> int eventfd(unsigned int initval, int flags);eventfd() 创建一个 eventfd 对象&…

pyest+appium实现APP自动化测试

目录 01、appium环境搭建 2、搭建pythonpytestappium环境 3、安装pycharm搭建项目编写脚本 4、执行测试 绵薄之力 01、appium环境搭建 安装nodejs http://nodejs.cn/ 为什么要安装nodejs&#xff1f; 因为appium这个工具的服务端是由nodejs语言开发的 安装jdk&#x…

maxwell界面介绍

File文件 New新建&#xff08;快捷键CTRLN&#xff09; open打开&#xff08;选择open后可以选择各种可以打开的类型文件。包括其他软件CAD、老版本ansoft mxwl文件。以及Maxwell其他模块的文件。&#xff09; Open Examples打开范例&#xff08;与上效果相似&#xff0c;但是能…

Maxwell个人初学经验及资料分享

文章目录 前言一、原理重要二、官方教程三、视频教程三、帮助文档总结 前言 前段时间学习了课题组基于Maxwell所建立的模型&#xff0c;因为以前从来没有使用过&#xff0c;只是按照一步一步记忆了操作&#xff0c;但总觉得不熟悉&#xff0c;我想是缺乏对这个软件整体的了解&…

maxwell 平面变压器仿真(一)

目录 系列文章目录 前言 一、Maxwell能干什么&#xff1f; 二、Maxwell 安装与基本界面工具介绍 1.Maxwell安装 2.maxwell 基本界面工具介绍 maxwell界面如下&#xff1a; 菜单栏如下&#xff1a; 简要介绍如下&#xff1a; 3.以实例介绍一下布尔运算 前言 在学习开关电…

【Maxwell笔记】

官网地址&#xff1a;Maxwells Daemon 版本&#xff1a;v1.29.2&#xff08;之后的版本不支持JDK8&#xff09; 一、工作原理 Maxwell把自己伪装成MySQL的一个slave&#xff0c;然后以slave的身份假装从MySQL&#xff08;master&#xff09;复制数据。 MySQL配置binlog&…

ANSYS Maxwell 2D螺线管磁场分析

所用螺线管几何模型如下所示 1. 在Maxwell软件中建立如下图所示的几何模型 2. 设置材料 线圈采用铜材料copper&#xff0c;空气域自动为空气材料 3. 空气域边界设置磁通平行边界条件 4. 线圈施加电流激励&#xff0c;实际是安匝数 上半个线圈设置参数如下 其中参考方向Posit…

Maxwell-学习笔记

一、理论知识 1. 磁场的高斯定律 磁场对任意闭合曲面的通量都为0 2.安培环路定律 磁场沿不围绕长直导线的闭合曲线的环流为0,围绕长直导线的闭合曲线的环流为uI。 3. 磁化电流 磁介质内部的分子电流因为抵消而不参与整体磁化电流的贡献。 二、有限元方法 三.EM操作步骤 …