左(9)--题目讲解

news2024/12/23 10:47:40

前言

仅记录学习笔记,如有错误欢迎指正。

题目:

leetcode的洗衣机问题

思路:
首先看能不能数量相等 总和%机器数量 = 0
然后分情况讨论:对于任何一个位置都有至少需要搬动n次,最大值就是答案!
在这里插入图片描述

在这里插入图片描述

题目2:

在这里插入图片描述
思路:
不能纠结单个点的移动,宏观思路去打印
记录左上角A和右下角B的位置,调用f()去打印以这两个点所构成的矩阵,
顺序从左到右,从上到下;之后A往右下角移动,B往左上角移动;
当A,B错开时,结束循环。
在这里插入图片描述
在这里插入图片描述

题目3:

N*M的区域,从i,j出发,走k步(上下左右等概率),越界就失败,成功的次数为多少?
思路:先分析外围的转动,对于一个N*N的矩阵,分为N-1组,每个点的运动轨迹

在这里插入图片描述

题目四:

递归:
思路:
先统计每个字符出现的次数,然后建立容量为k的小根堆,
当堆满时,再插入新的字符,和堆顶比较,次数如果比堆顶的次数大,
堆顶remove,新数据入堆
在这里插入图片描述

dp的空间压缩

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

题目五:

在这里插入图片描述
思路:先找出最大的数字,然后如果最大的数字在左边,相对右部分的最大值就是最后一个数字,右边同理
有点类似于贪心?在这里插入图片描述

题目六:

在这里插入图片描述
思路:
首先判断两个字符是不是长度相等,不等return false;
例如 a= “1234” b =“2341”
让a = a + a;然后判断b是否为a的字串(KMP)
如果b是a的字串,就return true;

题目七:

在这里插入图片描述
在这里插入图片描述

题目八:

找工作问题
思路:
先把所有的工作按照难度从小到大,价值从大到小排列
之后删除相同难度下,价值小的工作,
以及工作难度大,价值还比工作难度小工作价值的工作
最后选择工作只要选择恰好匹配能力的工作就是回报最大的工作!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二叉树专题:

题目九:

在这里插入图片描述
思路:
对于每个二叉树节点,如果左右孩子都转化好为双向链表了
只要左孩子的尾,和有右孩子的头互相连接
之后左孩子的头,和有右孩子的尾作为整个链表表的头尾!
在这里插入图片描述

题目十:

在这里插入图片描述
改造:返回头结点
思路:对于head节点,判断以该节点为头是否是搜索二叉树,如果是,返回节点个数,不是返回-1
递归需要返回的信息:
在这里插入图片描述

  • 可能性1 左子树为最大二叉搜索树
  • 可能性2 右子树为最大二叉搜索树
  • 可能性3 整颗树为最大二叉搜索树(左树最大值<head.val<右树最小值)
    在这里插入图片描述
    在这里插入图片描述
题目11:

子数组的最大累加和:
在这里插入图片描述
在这里插入图片描述
进阶:求子矩阵的最大累计和

思路:(压缩数组)
求0行的最大累计和,求出res
之后求0-1行的累计和,把0行对应位置的数字和1行的数字相加,去调用数组的最大累计和方法
和之前的res比较,取较大者。

题目12:

数组的最长子序列的长度

优化思路:
新增一个数据用来当前长度的最小结尾!ends
之后每次遇见新的数字,先去ends中找大于当前数的最左位置,
如果存在就更新为新的数字,因为新数字一定比之前的数字小
如果不存在,那就在当前i位置插入此数字
dp[i] = ends数组中所在位置i+1;
在这里插入图片描述
在这里插入图片描述

题目13:

在这里插入图片描述
思路 :
如123,只需要(1+2+3) %3 ==0 来判断是否能被3整除
用等差数列之和的公式来算和
在这里插入图片描述

题目14:

在这里插入图片描述
思路:
从左到右,对于i位置的值x,找到下标为x-1的位置,交换位置,
直到交换的位置等于i+1
开始下一轮;i++
输出x !=i+1的值
在这里插入图片描述

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

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

相关文章

APT最佳学习案例:写个简易版 ButterKnife

前言 目的&#xff1a;写个简易版 ButterKnife&#xff0c;借手写 ButterKnife 去了解如何实现注解、annotationProcessor 的等使用。 先看下butterknife的结构&#xff1a; 源码地址 https://github.com/LucasXu01/MyButterKnife ButterKnife的使用 在build.gradle添加依…

Java : 详解八种基本数据类型的包装类

Java &#xff1a; 详解八种基本数据类型的包装类 每博一文案 人生路漫漫越长大&#xff0c;越明白每个人的路都是漫长而艰辛的。无论我们有多累&#xff0c;我们都无路可退。 就像马丁说的那样&#xff1a;每一个强大的人都曾咬着牙度过一段&#xff0c;没人帮忙&#xff0c;…

Rabbitmq与交换机

目录 一、交换机简介 1、Exchange(交换机)的作用 2、Exchange(交换机)的类型 3、交换机的属性 二、交换机的使用 1、创建项目 2、给子模块添加依赖( rabbitmq-provider、 rabbitmq-consumer) 3、直连交换机(Direct Exchange)使用 4、主题交换机(Topic Exchange)的使用 5、…

【图像分割】和声搜索算法图像多级阈值分割【含Matlab源码 2044期】

⛄一、和声搜索算法的图像阈值寻优算法简介 苹果图像识别是指将苹果果实从枝叶、土壤、天空等背景中分离出来, 即图像分割。最大类间方差法 (OTSU算法)是由日本学者大津展之 (OTSU) 提出的全局阈值选取方法。该方法存在缺乏自适应性、易造成噪声干扰和过分割现象、运算需要大量…

[附源码]计算机毕业设计Python的项目管理系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

Kafka 安装 快速入门

Kafka 安装 快速入门 Apache Kafka是流行的用于大规模收集、处理、存储和分析数据的开源流处理系统。它以其卓越的性能、低延迟、容错和高吞吐量而闻名&#xff0c;能够每秒处理数千条消息。常用来构建数据管道、利用实时数据流、实现系统监控、数据集成。 如上图&#xff0c;…

【MindStudio训练营第一季】基于MindX的U-Net网络的工业质检实践作业

1.1 作业介绍 1.1.1 作业背景 随着新一轮科技革命和产业变革的加速演进&#xff0c;全球各国都在借助新技术推动制造业升级&#xff0c;从工业2.0自动化开始兴起&#xff0c;到工业3.0信息化普及&#xff0c;如今正迈向工业4.0智能化。借助IoT、工业大数据、人工智能等先进技…

“==” 操作符 与 equals 方法的区别,toString

“” 操作符 与 equals 方法的区别&#xff0c;toString 每博一文案 读过这样一段话&#xff1a;很多人都羡慕我的坚强独立&#xff0c;夸赞我的善解人意。无论什么事情&#xff0c; 我都会把别人放在首位&#xff0c;宁愿自己吃亏&#xff0c;也会尽力满足别人的需求&#xf…

Allegro关闭线段显示不连续效果操作指导

Allegro关闭线段显示不连续效果操作指导 用Allegro进行PCB设计的时候偶尔会出现线段不连续的情况,尤其是在线段拐弯处,实际上并不是线段没有连接上,只是一个显示效果而已,如下图 如何去关闭这个显示效果,具体操作如下 选择Setup-Design Parameter 选择Display 取消勾…

java中实现分页的常见几种方式

文章目录1. 前言2. 先说结论3. 例子1. 数据库SQL的限制条件(limit、fetch&#xff09;2. 使用List集合的截取功能实现3. 插件PageHelper1. 前言 无论是自我学习中&#xff0c;还是在工作中&#xff0c;固然会遇到与前端搭配实现分页的功能&#xff0c;发现有几种方式&#xff…

IIC总线(二)-----IIC控制器与MPU6050

1.Exynos_4412下的IIC控制器 Exynos 4412 SCP简化指令集计算机&#xff08;RISC&#xff09;微处理器支持四个多主控间集成电路&#xff08;I2C&#xff09;总线串行接口。为了在连接到I2C总线的总线主机和外围设备之间传输信息&#xff0c;我们使用了一条专用的串行数据线&am…

IO流(一)

IO流的思维导图如下所示&#xff1a; 我们下来对文件、IO流原理及流的分类&#xff0c;节点流&#xff08;访问文件的、访问数组的、访问管道的&#xff09;和处理流&#xff08;缓冲流、对象流、管道流&#xff09;&#xff0c;输入流&#xff08;InputStream和Reader)和输出流…

[附源码]Nodejs计算机毕业设计基于协同过滤技术的旅游景点购票系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

Python+Selenium自动化测试详细教程

前言 PythonSelenium 来实现的web端自动化, 以下演示会用到禅道、百度和自己编写的html. 一、准备工作 1、安装 安装Python 3安装selenium库&#xff0c;命令&#xff1a;pip install selenium搭建禅道环境 2、导入浏览器驱动 selenium操作不同的浏览器&#xff0c;需要下…

Windows10 系统下载网址推荐(二)

Windows10 系统下载网址推荐&#xff08;二&#xff09;1. 计算机操作系统概述2.HelloWindows3. 山己几子木4. xitongku5. TechBench结束语1. 计算机操作系统概述 操作系统&#xff08;Operating System&#xff0c;OS&#xff09;是一组主管并控制计算机操作、运用和运行硬件…

设计一个接口务必考虑好这14个基本点

目录&#xff1a;导读 前言 1、入参合法性校验 2、接口的版本控制 3、接口考虑幂等性 4、接口考虑防止重复请求 5、提高接口的响应时间 6、接口限流控制 7、黑白IP白名单 8、敏感数据脱敏 9、请求接口的先决条件-token 10、记录接口请求日志 11、调用第三方接口要考…

分解优化react对redux的基础使用

之前写了 react18 通过redux 做一个简单的状态管理基站 但代码确实相对比较乱 这次进行一些小封装和分解 优化一下管理质量 首先 我们创建一个 react项目 然后在项目中引入 npm install redux --save在src目录下创建 reducers 文件夹 下面创建 counter.js counter.js 参考代码…

有什么免费python安装包?

前言 Python的安装涉及到&#xff1a;Python编辑器、Python解释器、Python包管理工具&#xff08;pip&#xff09;。因此&#xff0c;首先我们要搞清楚这三个东西都是啥。 Python编辑器 正如在电脑上编辑文档需要用Word、处理数据需要用Excel、做演示文稿需要用PPT、修图需要…

git add 命令详解

1. 前言 2. git add 基本操作 3. git add 命令参数 4. git add 背后做了什么 1. 前言 众所周知&#xff0c;git 中有工作区、暂存区、版本库三大组成部分 工作区: 电脑中能看到的目录&#xff0c;也就是写代码的地方 暂存区: 英文叫 stage 或 index。一般存放在 .git 目录下…

【图像分割】灰狼算法最小交叉熵多阈值图像分割【含Matlab源码 903期】

⛄一、最小交叉熵多阈值图像分割简介 1 单阈值分割 设有两个概率分布P{p1, p2, …, pN}和Q{q1, q2, …, qN}, 交叉熵度量它们之间的信息量差异。其对称形式为 交叉熵既可看成是采用P取代Q作为单个系统概率分布时系统信息量变化的期望值, 也可看成是两个概率系统P和Q之间的信息…