12.29_黑马数据结构与算法笔记Java

目录

305 旅行商问题 动态规划 实现2

306 旅行商问题 动态规划 实现3

307 分治 概述

308 快速选择算法 分治

309 快速选择算法 数组第k大数 Leetcode215

310 快速选择算法 数组中位数

311 快速幂 分治

312 快速幂 Leetcode50

313 平方根整数部分 Leetcode69-1

314 平方根整数部分 Leetcode69-2

315 至少k个重复字符的最长子串 Leetcode395 分析

316 至少k个重复字符的最长子串 Leetcode395 实现

317 回溯 概况

318 全排列 Leetcode46 分析

319 全排列 Leetcode46 实现


305 旅行商问题 动态规划 实现2

以后补

306 旅行商问题 动态规划 实现3

以后补

307 分治 概述

308 快速选择算法 分治

每次以最右边的一个数字为基准点,然后进行排序,逐渐缩小范围。 

309 快速选择算法 数组第k大数 Leetcode215

之前求的是由小到大,现在求的是由大到小

和之前方法的对应关系,就是5- 

310 快速选择算法 数组中位数

311 快速幂 分治

幂是偶数的情况:

 只需要乘4次,乘过的不用再乘

幂是奇数的情况:

要多乘一个2 

改动一下:

312 快速幂 Leetcode50

改动代码:

当n=0或者n=1的时候的情况没有考虑,考虑之后:

当n为负数的情况下,

负数最小值是 -2147483648 但是正数最大值是2147483647 所以负负得正后,会超过max,因此改int为long

另外一种判断奇数偶数的方法: 

与001做按位与的操作,这样子就可以拿到最后一位的数字了。最后一位是0就是偶数,最后一位是1就是奇数

 按位与的运算级较低,因此要用括号括起来

313 平方根整数部分 Leetcode69-1

 常规做法 以上,但如果按照下面这个来做的话,就会快很多

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== 编辑

把乘法改为除法,可以避免若m很大的情况下,m*m超过最大值而出的bug这样的情况。  

 

315 至少k个重复字符的最长子串 Leetcode395 分析

316 至少k个重复字符的最长子串 Leetcode395 实现

317 回溯 概况

这种局部变量就不需要手动进行数据恢复

若是数组或者集合,就需要手动的进行数据恢复

318 全排列 Leetcode46 分析

319 全排列Leetcode46 实现

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里云PolarDB数据库优惠价格表11元一天起

阿里云数据库PolarDB租用价格表,云数据库PolarDB MySQL版2核4GB(通用)、2个节点、60 GB存储空间55元5天,云数据库 PolarDB 分布式版标准版2核16G(通用)57.6元3天,阿里云百科aliyunbaike.com分享…

《Python机器学习原理与算法实现》学习笔记

以下为《Python机器学习原理与算法实现》(杨维忠 张甜 著 2023年2月新书 清华大学出版社)的学习笔记。 根据输入数据是否具有“响应变量”信息,机器学习被分为“监督式学习”和“非监督式学习”。 “监督式学习”即输入数据中即有X变量&…

ros2查看launch文件内需要提供的参数(接口):

格式:ros2 launch --show-args 包名称 launch文件名称 例如: ros2 launch --show-args ros_gz_sim gz_sim.python.py

区块链的三难困境是什么,如何解决?

人们需要保持社交、工作和睡眠之间的平衡,并且努力和谐相处。同样的概念也反映在区块链的三难困境中。 区块链三难困境是一个术语,指的是现有区块链的局限性:可扩展性、安全性和去中心化。这是一个存在了几十年的设计问题,其问题的…

【python高级用法】迭代器、生成器、装饰器、闭包

迭代器 可迭代对象:可以使用for循环来遍历的,可以使用isinstance()来测试。 迭代器:同时实现了__iter__()方法和__next__()方法,可以使用isinstance()方法来测试是否是迭代器对象 from collections.abc import Iterable, Iterat…

Hadoop安装笔记1单机/伪分布式配置_Hadoop3.1.3——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

将下发的ds_db01.sql数据库文件放置mysql中 12、编写Scala代码,使用Spark将MySQL的ds_db01库中表user_info的全量数据抽取到Hive的ods库中表user_info。字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String&am…

人工智能的第一性原理

今天跟大家分享一篇 北师大 - 图像处理研究中心主任 郭平教授的一篇文章 通过“四个问题”, 解释了人工智能的第一性原理 提出了如何运用第一性原理思维 来解决人工智能缺乏基本常识的问题 并且他建议将最小作用量原理 作为人工智能的第一性原理 什么是第一…

排序算法讲解

1)排序思想: 2)排序代码: 3)注意点: 4)时间/空间复杂度和稳定性 下面的排序是以实现升序讲解的。 (一)直接插入排序 1)排序思想: 把待排序的…

【c语言】飞机大战2

1.优化边界问题 之前视频中当使用drawAlpha函数时,是为了去除飞机后面变透明,当时当飞机到达边界的时候,会出现异常退出,这是因为drawAlpha函数不稳定,昨天试过制作掩码图,下载了一个ps,改的话&#xff0c…

centos7安装nginx并安装部署前端

目录: 一、安装nginx第一种方式(外网)第二种方式(内网) 二、配置前端项目三、Nginx相关命令 好久不用再次使用生疏,这次记录一下 一、安装nginx 第一种方式(外网) 1、下载nginx ng…

Jenkins基础教程

目录 第一章、快速了解Jenkins1.1)Jenkins中一些概念介绍1.2)Jenkins和maven用途上的区别1.3)为什么使用Jenkins1.4)学习过程中的疑问 第二章、安装Jenkins2.1)安装之前的准备2.2)Windows中Jenkins下载安装…

DrGraph原理示教 - OpenCV 4 功能 - 单通道图

通道 OpenCV的核心处理对象是Mat,大体是一个二维数组,加上了各种功能函数。 很多的图像处理,会在单通道或二值化的基础上进行,比如连通域、目标识别等。这里的通道就是channels。 不同的图像处理算法可能对通道数有特定的要求。例…

计算机组成原理复习6

总线结构与控制练习题 计算机系统为什么采用总线结构? 解析:在冯诺依曼计算机体系当中,把计算机基本组成分成了五大部分。运算器,控制器,存储器,输入设备和输出设备。我们可以把运算器和控制器制作在一个芯…

字符串与模拟法

加密英文 输入一个字符串可用getline(cin,数组名) 字典序 在字符串中寻找子字符串 分糖果 代码 猴子选大王 代码 如果n号猴子被选中,则使得n号的猴子变成false,未出局的猴子为true。 if(pn1) p1;这个是将超出的下标重新变回1号,使其重新循…

DNS域名查询过程

目录 DNS(Domain Names System) 域名转IP IP转域名 域名 域名查询流程 浏览器DNS缓存 操作系统缓存 本地host文件 完整流程 递归查询 迭代查询 DNS(Domain Names System) 域名系统,将域名和 IP 地址进行转…

模型 冰山理论

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。冰山下面才是重点。 1 冰山理论的应用 1.1 冰山理论在生活中的常见应用 人际交往:在人际交往中,很多人只关注表面的行为和语言,而忽略了内在的情感和动…

免费的云服务器推荐~三丰云

对于许多初创企业和小型公司来说,寻找一个经济实惠且可靠的云服务提供商是至关重要的。在这方面,三丰云以其免费虚拟主机和云服务器吸引了大量用户。 1. 注册与界面 注册三丰云的账户过程简单明了,只需按照步骤填写必要信息即可。其界面设计…

Unity之地形的构建

PS:公司没活干,好无聊偷偷摸鱼学Unity,害怕自己学完之后忘记,写下这一篇博客 先来看一下效果图:有山有水有树有草地 创建一个新的Unity3D项目 这里要用到Unity官方的免费资源包(现在好像已经下架了百度网盘…

Mybatis分页插件之PageHelper生效and失效原理解析

文章目录 前言整合PageHelperPageHelper生效原理PageHelper的分页参数和线程绑定核心拦截逻辑生成分页SQLdialect.afterAll() PageHelper失效原理分页失效案例分页失效原理总结 Mybatis拦截器系列文章:从零开始的 MyBatis 拦截器之旅:实战经验分享 构建自…

S32K312使用ITCM向FLASH代码区写入数据

使用C40_IP的系列方法向FLASH代码区写入数据时,程序会卡死在读取写操作的状态C40_Ip_MainInterfaceWriteStatus()这个方法中。本文主要介绍S32K312通过ITCM的方式,通过C40_IP的方法向FLASH代码区成功写入数据的方法和步骤。 首先,验证一下C4…