算法leetcode day 30

day7

LeetCode 454.四数相加II 题目/视频/文章链接: 454.四数相加|| 个人第一时间看法: 考虑到之前做过的两数之和,得用哈希表来解决,只不过对于四个数组的操作有点懵,感觉无从下手,只想到四个for循环暴力解决。 看完代码随想录的想法: 鉴于两数之和的操作,可以将四个数组分成两大组来进 ......
day7 day

三十分钟理解:线性插值,双线性插值Bilinear Interpolation算法

https://blog.csdn.net/xbinworld/article/details/65660665 ......

代码随想录算法训练营Day49 动态规划

#代码随想录算法训练营 代码随想录算法训练营Day49 动态规划| 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 121. 买卖股票的最佳时机 题目链接: 121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的 ......
随想录 训练营 随想 算法 代码

算法学习

算法 排序 选择 找到最小的index,然后再交换 冒泡 一直在换位置 冒泡从小到大, 但是不断的找最大的,像爬山 最大的在上面 气泡也是 最大的在上面 因为他没有控制尾部,所以并不知道尾部是不是有序的。所以只有挨着遍历 插入 插入可以到达 O(N) 因为如果一旦满足最大情况 ,就不进行比较了,进入 ......
算法

学习记录:第一周day01笔记

linux系统简单介绍: BCPL->New B->C->Unix->Minix->Linux->gcc为了编译LInux内核产生 美国贝尔实验室 1.cd命令: cd 文件路径:进入某个目录 / :根目录,所有文件都存储在该目录下 ~:用户主目录,linux提供一个快捷方式cd可以直接回到用户主目 ......
笔记 day 01

学习记录:第一周day02笔记

vim文本编辑器: 可以直接在终端下采用纯键盘操作的一款文本编辑器(号称编辑器之神,可以升级、可以扩展) 基础用法: 1、进入vim: 输入 vim file.c 文件存在则打开,否则新建并打开 2、输入i: 进入编辑模式,编写代码 3、保存并退出 按Esc,输入ZZ保存并退出 vim三大模式: 正 ......
笔记 day 02

学习记录:第一周day03笔记

一、数据类型 为什么要对数据进行分类? 1、现实中的数据就是自带类别属性的 2、对数据进行分类可以节约内存存储空间、提高运行速度 存储空间的单位: Bit 比特 存储1个二进制位,只能存储0或1,是计算机存储数据的最小单位 Byte 字节 存储8个二进制位,是计算机存储数据的基本单位 KB(Kb) ......
笔记 day 03

学习记录:第一周day04笔记

一、for循环语句 循环:就是一种让代码反复执行的方式,从而达到想要的效果 for循环一般会使用一个变量来引导循环的进行,这一变量叫做该循环的循环变量 i index for循环的变化很灵活,但也很危险 for循环的括号问题: 1、for循环内只有一行代码时,大括号可以省略 但是这样不利于后期代码扩 ......
笔记 day 04

学习记录:第一周day05笔记

一、数组 什么是数组:变量的组合,是一种批量定义相同类型变量的方式 定义: 类型名 数组名[数量]; int arr[5]; 注意:数组的内存空间是连续分配的,且数组的长度一旦确定就无法改变 使用:数组名[下标]; 下标:从0开始,范围:0~数量-1 可以是任意整型表达式,包括整型变量和整型常量 遍 ......
笔记 day 05

学习记录:第二周day01笔记

一、Window下获取方向键 1、导入头文件 #include<conio.h> 2、通过getch()获取键盘上的键值 上:72 下:80 左:75 右:77 二、Linux下获取方向键: 1、在Window中把getch.h文件放入共享文件夹中 2、在Linux的共享文件夹下执行 mv getc ......
笔记 day 01

学习记录:第二周day02笔记

进制转换 1、为什么使用二进制、八进制、十六进制? 因为目前CPU只能识别高低两种电平,只能对二进制数据进行计算 二进制虽然能够直接别计算机识别但是不方便人去书写和记录,因此就把二进制数据转换成八进制,方便记录到文档中 随着CPU的位数的不断增加(目前已经到64位),八进制不再能够用满足需求,因此发 ......
笔记 day 02

day21 打卡530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先

day21 打卡530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先 530.二叉搜索树的最小绝对差 530题目链接 1.递归法——使用双指针。因为是二叉搜索树,所以中序遍历是递增的。所以最小值的产生肯定是前一个和后一个之间。 class Solution { ......
祖先 day 530 501 236

【编程算法】【寻路】【A*优化 - 束搜索】

束搜索的好处,就在于,他可以通过剪枝减少搜索的节点,减少时间和空间的消耗但是劣势就是不一定得到最佳路径,如果把他的光束收缩到最小,就是贪心算法 1. 在存储有限的情况下进行类似的宽度优先的图搜索算法 2. 在搜索空间很大的情况下对图搜索进行存储限制的重要性 ......
算法

【编程算法】【寻路】【A*优化 - 迭代加深A*(IDA*)】

限定下限的深度优先搜索 由于不再采用动态规划的方法,节省内存 最大的优点:找到最短路径情况下,需要最小内存 但是是时间换空间,不会记得走过一条路 IDA-Star(IDA*) Algorithm in general « Insight into programming algorithms (wo ......
算法 IDA

合并链表-leetcode23-合并k个升序链表

给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [ 1->4->5, 1->3->4, 2->6 ] ......
升序 leetcode 23

javaSE-day03(常用API一)

API(Application Programming interface)意思是应用程序编程接口,说人话就是Java帮我们写好的一些程序,如:类、方法等,我们直接拿过来用就可以解决一些问题。可以在API文档进行查询 1.Object类 Object类是Java中所有类的祖宗类,因此,Java中所有 ......
javaSE-day 常用 javaSE day API

javaSE-day12(多线程)

1.多线程的常用方法 Thread提供了很多与线程操作相关的方法 方法: public void run(): 线程的任务方法 public void start(): 启动线程 public String getName(): 获取当前线程的名称,线程名称默认是Thread-索引 public v ......
线程 javaSE-day javaSE day 12

【LeetCode】3.19 对称二叉树

101. 对称二叉树 ​ 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root = [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root = [1,2,2,null,3,null,3] 输出:false 提示: 树中节点数目在范围 [1, 100 ......
LeetCode 3.19 19

【DP】LeetCode 剑指 Offer 62. 圆圈中最后剩下的数字

题目链接 剑指 Offer 62. 圆圈中最后剩下的数字 思路 经典约瑟夫环问题,可以使用找规律的方法进行解决。 以 n = 8, m = 3为例,下面这幅图展示了模拟执行的全过程,用 F(n,m) 表示最后存活的人的索引。 从8个人开始,每次杀掉一个人,去掉被杀的人,然后把杀掉那个人之后的第一个人 ......
圆圈 LeetCode 数字 Offer 62

react的diff算法

diff策略 React用 三大策略 将O(n^3)复杂度 转化为 O(n)复杂度 策略一(tree diff): Web UI中DOM节点跨层级的移动操作特别少,可以忽略不计。 策略二(component diff): 拥有相同类的两个组件 生成相似的树形结构, 拥有不同类的两个组件 生成不同的树 ......
算法 react diff

全网最详细中英文ChatGPT接口文档(六)30分钟快速入门ChatGPT——使用策略和API数据使用策略

我们在使用ChatGPT时需要遵守一定的规则和指南,以确保我们的数据安全和隐私得到保护。同时,我们也应该信任OpenAI,相信他们会采取必要的措施来保护我们的信息。因此,在使用ChatGPT和API数据时,我们应该既小心谨慎,又充满信心。 ......
策略 ChatGPT 全网 中英 接口

[LeetCode] 2348. Number of Zero-Filled Subarrays

Given an integer array nums, return the number of subarrays filled with 0. A subarray is a contiguous non-empty sequence of elements within an array. ......
Zero-Filled Subarrays LeetCode Filled Number

算法笔记

算法笔记 10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树; 10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法 股票问题系列通解(转载翻译) - 力扣(LeetCode) 数据结构和容器 基本类型: int,lo ......
算法 笔记

day102-HttpServletRequest

HttpServletRequest 获取前端传递的参数,请求转发 req.getParameter() req.getParameterValues() 获取参数 public class LoginServlet extends HttpServlet { @Override protected ......
HttpServletRequest day 102

day101-HttpServletResponse实现重定向

HttpServletResponse实现重定向 一个web资源收到客户端请求后,通知a客户访问另一个web资源,这个过程叫重定向 常见场景:用户登录 使用resp.sendRedirect请求跳转至指定的页面 public class RedirectServlet extends HttpSer ......
HttpServletResponse day 101

算法总结--动态规划

声明(~~叠甲~~):鄙人水平有限,本文为作者的学习总结,仅供参考。 ##1.动态规划介绍 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。其中每一个状态一定是由上一个状态推导出来,这是DP的一个重要标志。 ##2.DP大法的使 ......
算法 动态

机器学习算法(一): 基于逻辑回归的分类预测

逻辑回归(Logistic regression,简称LR)虽然其中带有"回归"两个字,但逻辑回归其实是一个分类模型,并且广泛应用于各个领域之中。虽然现在深度学习相对于这些传统方法更为火热,但实则这些传统方法由于其独特的优势依然广泛应用于各个领域中。 ......
算法 逻辑 机器

刷爆 LeetCode 双周赛 100,单方面宣布第一题最难

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周末是 LeetCode 第 100 场双周赛,你参加了吗?这场周赛整体没有 Hard 题,但是也没有 Easy 题。第一题国服前百名里超过一半人 wa,很少见。 小彭的技术交流群 02 ......
单方 单方面 LeetCode 100

刷爆 LeetCode 周赛 337,位掩码/回溯/同余/分桶/动态规划·打家劫舍/贪心

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周末是 LeetCode 第 337 场周赛,你参加了吗?这场周赛第三题有点放水,如果按照题目的数据量来说最多算 Easy 题,但如果按照动态规划来做可以算 Hard 题。 小彭的技术交 ......
打家劫舍 LeetCode 动态 337 183

算法 | 中缀表达式转后缀表达式并计算结果(利用栈)

1.手动实现中缀转后缀 2.代码实现中缀转后缀并计算表达式结果 为了简化问题,假设算术运算符仅由加、减、乘、除4种运算符和左、右括号组成。 step1: 声明栈结构 #include <iostream> #include <string> using namespace std; #define ......
表达式 中缀 后缀 算法 结果