自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

原创 22. 括号生成

输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

2024-04-16 17:34:20 209

原创 43. 字符串相乘

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。

2024-04-16 17:01:22 402

原创 前缀和与差分

【代码】前缀和与差分。

2024-03-15 16:25:18 237

原创 228. 汇总区间

给定一个 无重复元素 的 有序 整数数组 nums。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x。列表中的每个区间范围 [a,b] 应该按如下格式输出:“a->b” ,如果 a!

2024-02-05 12:50:02 331 1

原创 位运算入门—— 36. 有效的数独

请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。只需要根据以上规则,验证已经填入的数字是否有效即可。一个有效的数独(部分已被填充)不一定是可解的。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。空白格用 ‘.’ 表示。

2024-02-02 15:50:46 140

原创 KMP算法介绍

KMP的主要思想是当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。记录已经匹配的文本内容,在不匹配时利用 前缀表找到 当字符不匹配的时候应该指针应该移动的位置。记录下标i之前(包括i)的字符串中,有多大长度的相同前缀后缀。前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串。后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串。j表示指针的前缀,所以j从-1开始遍历,不包括最后一个字符。i表示指针的后缀,所以i从1开始遍历,不包括第一个字符。

2024-01-31 17:35:57 131

原创 42.接雨水

对于下标 i,下雨后水能到达的最大高度等于下标 i两边的最大高度的最小值,下标i处能接的雨水量等于下标 i处的水能到达的最大高度减去 height[i]。解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。栈顶即为坑的下标,栈顶的下一个元素为坑左边的下标,当前如果大于栈顶,就为坑右边的下标。输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输入:height = [4,2,0,3,2,5]

2024-01-30 15:29:53 311

原创 vscode-insiders Remote-SSH XHR failed无法访问远程服务器

看到目录下有该文件,但是解压缩时出错。说明文件本身有问题,但是由于已经存在该文件所以不会重新下载。因此删除该文件,重新打开vscode,会自动下载文件,连接成功。在连接远程服务器时,会在服务器端自动运行一个vscode-server脚本,当网络出现问题时,下载出错可能就会连接失败。

2023-11-22 15:27:02 1210 1

原创 mybatis

参考文档:视频:【狂神说Java】官方文档:https://mybatis.org/mybatis-3/zh/getting-started.html1. Mybatis介绍1.1 概念MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式

2022-04-14 11:29:57 448

原创 栈和队列介绍

java中栈的实现方式:先进后出Stack<Integer> st = new Stack<Integer>();队列:常用LinkedList 集合,它实现了Queue 接口和List接口;LinkedList底层是一个双向链表队列主要分为阻塞和非阻塞,有界和无界、单向链表和双向链表之分;add 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常  remove 移除并返回队

2022-04-12 11:47:03 803

原创 ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)

前提:Mac hombrew 安装mysaldebug记录:起因因为重启了电脑,然后登陆账号时发现mysql出现下列问题ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)分析:报错说在tmp文件下没有找到mysql.sock文件。由于连接服务器是通过socket通信,所以用mysql.server start 查看是否已经启动mysql server如果能够直接

2022-04-07 18:07:58 929

原创 字符串部分总结

字符数组char[] 与String的转换:char[ ] - > String:char [] str = {'a','b','c'};String s = new String(str); //方法一String s= String.valueOf(strToChars); ////方法二使用toString方法无法转换,调用toString()方法实际是调用Object类的toString()方法,结果是[类型@哈希值]。String - > char[ ]:char []

2022-04-03 15:32:48 360

原创 链表部分总结

java链表类定义:和C++用“->”不同,对于类中的元素用“.”表示,public class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val; this.next = next; }}链表添加删除节点时多用虚拟节点反转链表:

2022-03-27 11:41:17 578

原创 javaweb

前提说明:本文笔记来自【狂神说java】JavaWeb课程内容,加上部分资料补充。JavaWeb部分笔记1. 基本概念1.1 Web:1.2 web应用程序:1.3 静态web1.4 动态web2. web服务器(web Server)2.1技术3 Tomcat服务器3.1 介绍3.2 发布web网站4. http4.1 http概念4.2 发展历史4.3 Http请求4.4 Http响应5. Maven6. Servlet6.1 servlet简介6.2 Hello Servlet6.3 Servlet

2022-03-26 16:30:15 682

原创 数组部分总结

二分查找:在返回结果时,有可能不等于target注意判断是返回>=,还是<=的结果。704.二分查找34.在排序数组中查找元素的第一个和最后一个位置69.x 的平方根704.二分查找二分查找主要用于有序数组,且无重复元素边界问题:左闭右闭:left可以等于right, 此时循环的条件为left <= right;判断当mid 不等于target时,此时left = mid + 1或者right = mid-1;左闭右开:left不能等于right, 此时循环的条

2022-03-24 10:18:58 2332

原创 在排序数组中查找元素的第一个和最后一个位置

34. 在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums = [5,7,7,8,8,10], target = 6输出:[-1

2022-03-18 17:59:44 1120

原创 2. 两数相加

https://leetcode-cn.com/problems/add-two-numbers给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]

2021-12-11 11:19:09 97

原创 Z 字形变换

https://leetcode-cn.com/problems/zigzag-conversion将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:strin

2021-12-07 11:59:26 143

原创 两数之和~三数之和

https://leetcode-cn.com/problems/two-sum给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0,

2021-12-04 12:46:58 162

原创 leetcode刷题总结

数组:一般考虑:双指针/数组翻转,可以减少空间复杂度轮转数组数组向左/向右轮转,首先考虑翻转数组。这样空间复杂度为O(1),比使用额外空间更好PS:k = k % nums.size();注意轮转的次数大于数组本身长度的情况。27.移除元素使用双指针,left && right,实现原地删除元素,最终left代表删除后的数组长度left代表赋值指针right代表下一步要处理的指针双指针可以都从头开始,最多遍历2遍也可以从首尾向中间移动,直到2指针相遇,只遍历一次。

2021-12-02 16:44:40 233

原创 买卖股票的时机系列总结

买卖股票的最佳时机 II给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)方法一、贪心由于买卖次数不受限制,而且没有代价,所有只需要使区间获利大于0,就可以进行交易class Solution {public: int maxProfit(vector<int>& pri.

2021-12-02 16:20:27 99

原创 350. 两个数组的交集 II

链接:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2

2021-12-02 11:22:41 202

原创 强化学习总结

文章目录一、简介二、MDP三、动态规划四、不基于模型的预测五、不基于模型的控制六、价值函数的近似表示七、基于策略的强化学习八、model-based 强化学习九、探索与利用参考链接一、简介RL与其他ML的区别(特点):无监督,只有奖励信号反馈延迟时间顺序:动态系统,受不同环境影响很大采用不同的措施应对不同的环境:独立同分布数据不符合RL假设:量化奖励信号,通过最大化累积奖励进行训练。对于多目标,不同目标设置不同权重值的奖励,以达到累积奖励最大化的目标input: 观察,奖励outp

2021-11-14 10:30:45 359

原创 强化学习8、9章

八、model-based 强化学习基于模型的强化学习:适用于连续变量的状态和行为空间[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ojotQs4h-1636855872661)(…/…/Library/Application Support/typora-user-images/image-20211108213519414.png)]假设状态转换和奖励之间是条件独立的,建立环境模型<Pη,Rη><P_\eta,R_\eta><Pη​,

2021-11-14 10:12:52 1152

原创 强化学习第7章——基于策略的强化学习

七、基于策略的强化学习近似价值函数:是在某一特定的策略下采取最大行为价值的动作,在使用贪心寻找最优价值时同时得到最优策略只能解决状态空间连续问题,不能解决行为空间连续的问题(行为空间是离散的)而且采用价值函数确定动作在每个状态采取的行为是确定的,当由于个体在观测环境时的局限性,可能会导致类似的环境应该采用不同的动作(这种情况下的最优策略是随机策略,每次采取的行为可能不一样),而近似价值函数确定性的动作确定就会有缺陷。(如石头剪刀布游戏)所以在基于策略的RL中采用,策略函数:πθ(s,a)=P[a∣

2021-11-14 10:10:37 4152

原创 强化学习第6章——价值函数的近似表示

六、价值函数的近似表示对于状态数量较多/连续状态很难用离散形式表示,所以需要找到一个函数(线性函数,神经网络等)来近似表示价值函数:使得,v(s)≈v(s,w)v(s) \approx v(s, w)v(s)≈v(s,w) or q(s,a)≈q(s,a,w)q(s, a) \approx q(s, a, w)q(s,a)≈q(s,a,w)ω\omegaω表示引入的参数,通常是一个矩阵或至少是一个向量。价值函数的近似表示主要有两种方法:递增方法和批处理。“递增方法”,针对每一步,近似函数得到一些

2021-11-07 19:40:20 308

原创 强化学习第5章——不基于模型的控制

五、不基于模型的控制学习方式:On-policy learning: 个体已有一个策略指导agent的行为,然后根据得到的一系列奖励或者(状态/行为)价值优化这个策略,更新价值函数,最终得到一个相比原来更优的策略。由于要优化的策略就是当前遵循的策略,所以叫“现时策略学习”。Off-policy learning:虽然个体已经有一个策略指导行为,但是个体是通过观察其他的策略进行学习(从别人的经验中学习),然后优化自己的策略。这类学习方式是根据已有的策略学习,所以叫“离线策略学习”On-policy l

2021-11-02 19:38:38 356

原创 强化学习第4章——不基于模型的预测(MC,TD)

四、不基于模型的预测在这种情况隙中,agent的组成只包含策略和奖励蒙特卡洛算法:蒙特卡罗是一类随机方法的统称。这类方法的特点是,可以在随机采样上计算得到近似结果,随着采样的增多,得到的结果是正确结果的概率逐渐加大,但在(放弃随机采样,而采用类似全采样这样的确定性方法)获得真正的结果之前,无法知道目前得到的结果是不是真正的结果。MC:Model-free:不需要知道状态转移概率和奖励MC通过大量完整的片段学习推导出平均收获值代替状态价值PS:所有的片段必须有终止状态,因为使用的是每个状态

2021-10-31 20:14:39 340

原创 强化学习第2章——MRP and MDP

一、简介RL与其他ML的区别(特点):无监督,只有奖励信号反馈延迟时间顺序:动态系统,受不同环境影响很大采用不同的措施应对不同的环境:独立同分布数据不符合RL假设:量化奖励信号,通过最大化累积奖励进行训练。对于多目标,不同目标设置不同权重值的奖励,以达到累积奖励最大化的目标input: 观察,奖励output:动作无法控制外部环境,只能产生动作个体和环境 Agent & Environment环境可以:接收个体的动作AtA_tAt​ ,更新环境信息,同时使得个体

2021-10-27 20:34:55 806

原创 强化学习第3章——动态规划

三、动态规划满足条件:最优子结构,重复子问题bellman递归方程可以用动态规划求解Vlaue function记录子问题的解Planning(规划):规划: 环境是已知或近似已知的,个体并不与环境发生实际的交互,而是利用其构建的模型进行计算,在此基础上改善其行为策略。MDP认为已知所有的环境信息,所以可以用动态规划。预测:求基于当前策略π的价值函数input: MDP and π\piπ​ MRPOutput: value function控制:求最优价值函数和最优策略

2021-10-27 20:30:04 236

原创 vim简单操作

文章目录移动:插入/删除:跳转:复制/粘贴:vim高级组合:查找:替换:移动:键含义h左j下k上l右Shif + ^移到行首Shif + $移到行末插入/删除:键含义i光标所在插入a光标会移动到下一个字符插入o新插入一行插入yaw复制一个单词daw删除一个单词yy复制一行dd删除一行x删除一个字符,可以加上数字删除多个12xd$删除当前行光标后所有字

2021-10-26 15:11:15 88

原创 SpringCloud搭建注册中心与服务注册

参考链接:服务中心eurka-server注册SpringCloud搭建注册中心与服务注册client无法启动报错解决全面参考springcloud

2021-10-23 19:26:30 70

原创 Mac安装及配置rabbitMQ

问题及解决:mac brew install rabbitmq 启动 报"Error when reading /Users/liyaochu/.erlang.cookie: eacces安装:// 默认已经下载了homebrew,更新brew资源brew update// 执行安装brew install rabbitmq配置:// 切换到MQ目录,注意你的安装版本可能不是3.9.5(我的版本,当前最新版cd /usr/local/Cellar/rabbitmq/3.9.5// 启用

2021-09-14 15:52:33 456

原创 拓扑排序(矩阵+队列)

用拓扑排序判断是否是DAG图Legal or Not#include<iostream>#include<vector>#include<map>#include <cstring>#include<algorithm>#include<cmath>#include<queue>using namespace std;const int maxn = 101;int n,m;int indegree[

2021-09-13 17:04:33 193

原创 Square(DFS)

SquareDescriptionGiven a set of sticks of various lengths, is it possible to join them end-to-end to form a square?InputThe first line of input contains N, the number of test cases. Each test case begins with an integer 4 <= M <= 20, the number o

2021-08-19 12:23:52 117

原创 A Knight‘s Journey(DFS模版题)

A Knight’s JourneyDescriptionBackgroundThe knight is getting bored of seeing the same black and white squares again and again and has decided to make a journeyaround the world. Whenever a knight moves, it is two squares in one direction and one square

2021-08-19 11:03:14 171

原创 Find The Multiple(BFS)

DescriptionGiven a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there is a corresponding m containing no more tha

2021-08-18 11:10:35 177 1

原创 Catch That Cow(BFS模版题)

Catch That CowDescriptionFarmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ K ≤ 100,000) on the same number line.

2021-08-18 10:18:20 206

原创 杨辉三角形(递归/迭代)

描述输入n值,使用递归函数,求杨辉三角形中各个位置上的值。输入描述:一个大于等于2的整型数n输出描述:题目可能有多组不同的测试数据,对于每组输入数据, 按题目的要求输出相应输入n的杨辉三角形。输入:6输出:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1有关杨辉三角形的知识点:前提:每行端点与结尾的数为1。1、每个数等于它上方两数之和。(triangle[i][j] = triangle[i-1][j] + triangle[i-1][j-1])

2021-08-17 12:06:46 1405

原创 To Fill or Not to Fill(区间贪心)

To Fill or Not to Fill题目:With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to find gas stations on the way from time to time. Different gas station may give different

2021-08-16 17:18:43 955

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除