算法leetcode基础day6

Python自动寻路算法

一、题目描述 在一个迷宫游戏里,有一些小怪物要去攻击主角,现在希望给这些小怪物加上聪明的AI,让他们可以自动绕过迷宫中的障碍物,寻找到主角所在。二、解题思路迷宫游戏里的场景通常都是由小方格组成。假设我们有一个7*5大小的迷宫,图中红色格子是终点,绿色格子是起点,蓝色格子是一堵墙。 AI角色从起点开始 ......
算法 Python

js基础---数组的方法

sort(): 破坏性方法 forEach(): 遍历数组,需要一个回调函数作为参数,遍历的次数与数组的长度有关。 filter(): 将数组中符合要求的元素保存在新数组中返回 需要一个回调函数作为参数,并根据函数返回值过滤数组 非破坏型方法 map(): 根据当前数组返回新数组 需要回调函数做为参 ......
数组 基础 方法

LeetCode 209. 长度最小的子数组

题目链接:LeetCode 209. 长度最小的子数组 本题是一个滑动窗口的题, 所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。 在本题中实现滑动窗口,主要确定如下三点: **窗口内是什么?**窗口就是 满足其和 ≥ target 的长度最小的 连续 子数组。 ** ......
数组 长度 LeetCode 209

[Leetcode] 0703.数据流中的第K大元素

703. 数据流中的第 K 大元素 点击上方标题跳转至leetcode 题目描述 设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。 请实现 KthLargest 类: KthLargest(int k, int[] nums) 使用整数 ......
数据流 Leetcode 元素 数据 0703

LeetCode 977. 有序数组的平方

题目链接 :LeetCode 977. 有序数组的平方 本题直接暴力求解就是先求出每个元素平方后的值,再对平方后的值进行排序, 双指针解法 由于数组其实是有序的, 只不过负数平方之后可能成为最大数了。那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。此时可以考虑双指针法了,i指 ......
数组 LeetCode 977

色彩学基础:三原色 All In One

色彩学基础:三原色 All In One 色光三原色:RGB / 红绿蓝 颜料三原色: CMY / 青绿、品红、黄 (红黄蓝 ❓) ......
三原色 色彩 基础 All One

LeetCode 27. 移除元素 题解

题目链接:LeetCode 27. 移除元素 本题大意是要对一个数组进行原地删除数值等于 val 的元素。 双指针算法: 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。 快指针(p指针):寻找新数组的元素 ,新数组就是不含有目标元素的数组 慢指针(q指针):指向更新 新数组下标的 ......
题解 LeetCode 元素 27

LeetCode 704. 二分查找 题解

##本题考查的就是一个基本的整数二分查找问题 对于整数二分,有单调性一定可以二分,没有单调性的有时候也可以二分。 ##算法思想(分为两种方法): 查找结果是在左边区间的情况 区间被划分为[l,mid]和[mid+1,r] 1、确定分界点,mid=q[(l+r)/2] 2、判断是否满足 是:区间变成[ ......
题解 LeetCode 704

迪杰斯特拉算法

输入可能是边以及权值,将其保存在邻接表之后转为使用邻接矩阵来进行存储。然后需要一个数组来存放从起点到所有点的距离的数组dist,需要一个visited数组来表示是否以访问。 算法流程: 首先初始化起点到各点的初始距离 选择其中最短的一个距离对应的顶点,并且要求该点未被访问。这个时候选到的点为起点到该 ......
算法

OTSU阈值分割算法

阈值分割算法 二值化 首先以灰度图的$x,y$坐标为二维坐标系的$x,y$坐标,以对应位置的像素灰度值为$z$坐标,建立灰度图的三维坐标系,如下图 二值化处理就是在对应$0-255$范围内找出合适阈值筛选出对我们有用的信息。如果把上图当作一个地形图,阈值分割就是找出合适的水位去淹没对我们无用的信息, ......
阈值 算法 OTSU

WebRTC 音频采样算法 附完整C++示例代码

之前有大概介绍了音频采样相关的思路,详情见《简洁明了的插值音频重采样算法例子 (附完整C代码)》。 音频方面的开源项目很多很多。 最知名的莫过于谷歌开源的WebRTC, 其中的音频模块就包含有 AGC自动增益补偿(Automatic Gain Control)自动调麦克风的收音量,使与会者收到一定的 ......
示例 算法 音频 代码 WebRTC

linux1_虚拟机Linux系统基础命令行_DOS命令

dir:展开当前所有文件及文件夹 cd test:相对于当前目录开始的路径切换 cd..:回到上一路径 cd /test:绝对路径切换。 window系统 cd D:\test 盘符不一样需要再次输入一次D: tab键:自动补全 mkdir:创建空文件夹 rd:删除空文件夹 del:删除文件 cls ......
命令 基础 linux1 系统 linux

6-4 【CPP0026】以点类Point及平面图形类Plane为基础设计三角形类Triangle

6-4 【CPP0026】以点类Point及平面图形类Plane为基础设计三角形类Triangle 分数 10 作者 C++多态编程 单位 石家庄铁道大学 以平面图形类Plane为基类公有派生三角形类Triangle,main(void)函数完成对其的测试。 Point类结构说明: Point类的数 ......
三角形 Triangle 图形 平面 基础

Java基础学习之大数字处理相关的类有哪些?

前言 我们知道,在现实世界里,实际上数字是有无穷个的,就比如0和1之间,你说有多少个数字? 无数个! 但是在计算机中,数字的个数其实是有限的,因为计算机有存储空间的限制,所以实际上无论是整数还是浮点数,都是有最大范围的。比如在Java中,整型的最大范围是64位的long型整数。 但是有的小伙伴问了, ......
大数 基础 Java

LeetCode 1049. 最后一块石头的重量 II

思路 任何时刻,某个石头的重量永远都是若干石头加减运算的绝对值 如 a-b+c 合并石头都是减法,但仍可能出现+运算符,如 a-(b-c)=a-b+c 任何一种合并方法,最后一个石头的重量都可以表示成一种代数形式,如 a+b-c+d+e+f-g 不是所有的代数形式都可以转换为一种合并方法,如 a+b ......
LeetCode 重量 石头 1049 II

js基础---函数与闭包

函数 函数的参数也可以是一个函数:此函数被称之为回调函数 高阶函数 如果一个函数的参数和返回值是函数,则称此函数为高阶函数 利用高阶函数的特性不改变原函数的情况下新增函数功能 闭包 闭包就是能访问外部函数作用域中变量的一个函数 当我们不希望别人访问一些局部变量时,就可以使用闭包 创建闭包的条件:1. ......
闭包 函数 基础

MySQL数据库基础

MYSQL数据库基础 Mysql的基础操作 mysql概述 启动和停止 : 在运行窗口中输入"services.msc" 进入本地服务窗口, 找到MySQL80右键关闭或启动. 在命令行中输入 (以管理员身份运行) net start mysql80 启动 net stop mysql80 停止 客 ......
数据库 基础 数据 MySQL

网络对抗 Exp6 MSF应用基础

一、实践内容 ​ 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成: 一个主动攻击实践,尽量使用最新的类似漏洞; 一个针对浏览器的攻击,尽量使用最新的类似漏洞; 一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞; 成功应用任何一个 ......
基础 网络 Exp6 Exp MSF

网络对抗Exp6 MSF应用基础

一、实践内容 ​ 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成: 一个主动攻击实践,尽量使用最新的类似漏洞; 一个针对浏览器的攻击,尽量使用最新的类似漏洞; 一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞; 成功应用任何一个 ......
基础 网络 Exp6 Exp MSF

[Leetcode] 0697.数组的度

697. 数组的度 点击上方标题跳转至leetcode 题目描述 给定一个非空且只包含非负数的整数数组 nums,数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 1: 输入:nums = [1, ......
数组 Leetcode 0697

C#处理医学影像(四):基于Stitcher算法拼接人体全景脊柱骨骼影像

在拍摄脊柱或胸片时,经常会遇到因设备高度不够需要分段拍摄的情况, 对于影像科诊断查阅影像时希望将分段影像合并成一张影像,有助于更直观的观察病灶, 以下图为例的两个分段影像: 我们使用OpenCVSharp中的Stitcher类的Stitch方法,导入两张图像并拼接: 但结果却失败了,返回错误结果:E ......
影像 医学影像 脊柱 骨骼 算法

rsync算法原理及使用

如果服务器之间需要保持某些文件的一致,我们可以使用scp来复制,如果需要长期保持一致,可以配合crontab脚本来使用。但是此时我们有更优的方式,就是rsync+crontab来实现定时增量传输保持文件一致。 rsync功能很强大,网上的资料也都很全,这里做一些简单的汇总。 rsync原理 这一小节 ......
算法 原理 rsync

LeetCode 416 分割等和子集

LeetCode | 416.分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums = [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 示例 ......
子集 LeetCode 416

基础数据类型和操作符

一、go程序基础 1、文件名 go语言文件名命名规范: go语言的文件名必须以.go结尾。 go语言的文件名必须以小写字母开头,否则会报错。 go语言的文件名不能包含空格,否则会报错。 go语言的文件名不能包含特殊字符,否则会报错。 go语言的文件名不能包含中文,否则会报错。 go语言的文件名不能包 ......
操作符 类型 基础 数据

一些算法1

// See https://aka.ms/new-console-template for more information int[] nums={0,1,1,2,3,4,5}; int[] stockes={8,5,6,54,5,6,7,8}; int[] b={2,232,4,5,6,8}; ......
算法

[Leetcode] 0682. 棒球比赛

682. 棒球比赛 点击上方标题跳转至leetcode 题目描述 你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。 比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,op ......
棒球 Leetcode 0682

[Leetcode] 0693. 交替位二进制数

693. 交替位二进制数 点击上方标题跳转至leetcode 题目描述 给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。 示例 1: 输入:n = 5 输出:true 解释:5 的二进制表示是:101 示例 2: 输入:n = 7 输出 ......
二进制 Leetcode 0693

[Leetcode] 0696. 计数二进制子串

696. 计数二进制子串 点击上方链接跳转至leetcode 题目描述 给定一个字符串 s,统计并返回具有相同数量 0 和 1 的非空(连续)子字符串的数量,并且这些子字符串中的所有 0 和所有 1 都是成组连续的。 重复出现(不同位置)的子串也要统计它们出现的次数。 示例 1: 输入:s = "0 ......
二进制 Leetcode 0696

[Leetcode] 0680. 验证回文串 II

680. 验证回文串 II 点击上方标题跳转至leetcode 题目描述 给你一个字符串 s,最多 可以从中删除一个字符。 请你判断 s 是否能成为回文字符串:如果能,返回 true ;否则,返回 false 。 示例 1: 输入:s = "aba" 输出:true 示例 2: 输入:s = "ab ......
回文 Leetcode 0680 II

[Leetcode] 0674. 最长连续递增序列

674. 最长连续递增序列 题目描述 给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r(l )确定,如果对于每个 l ,都有 nums[i] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r ......
序列 Leetcode 0674