自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 仅此一文让你浅浅搞懂LEFT JOIN

网上很多教程似乎都是从集合论的i角度说明left join的工作原理,然后给出一两个完全无法覆盖到全部日常用法的例子, 让人看了一遍不懂,看了两遍更不懂,看了三遍就想把教程作者揪出来打一顿了。left join是一个强大的sql子语句,用来处理表与表之间的连接,sql还有很多五花八门的join语句,但是实际工作中最常用的是left join。我经常觉得,计算机技术的教程不管是以伪代码的形式还是真实代码的形式,总是结合代码解释一个概念会更好,毕竟对于程序员来说,往往代码比自然语言更好理解~

2023-07-15 17:22:15 483

原创 解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错的问题

没网络还是...),可以参考stackoverflow的这篇文章修改navicat的加载脚本https://stackoverflow.com/questions/74773611/cannot-open-connection-after-connecting-to-postgres-15-using-navicat-premium。伟大的师姐大人周四降下圣旨要求我把数据库可视化看一下,我诚惶诚恐,当晚就开始玩游戏拖就硬托,于是师姐大人对我的懒惰降下了惩罚——这个该死的bug。

2023-05-13 12:11:27 5365 10

原创 理解Hopcroft DFA最小化算法

常见的DFA最小化算法有三种,分别是Moore算法、Hopcroft算法和Brzozowski算法。很多教材,包括我们学校使用的教材(龙书)中给出的方法都是Moore算法。

2023-05-01 03:51:21 1935

原创 吴恩达机器学习网课 C2_W1_Lab02_CoffeeRoasting_TF简单翻译

最近在学习吴恩达佬的机器学习网课。不得不说这个网课的资源还是相当完善的,lab、课件质量都很高,吴恩达佬本人的讲课水平更不用说了(还可以顺便练习听力这个简单的翻译的主要目的是帮助我巩固学习,如果有英语不好的同学,也可以参考。翻译有错误或者疏漏,欢迎指出。这个lab是第二课(神经网络)的第二个lab,所以只涉及比较初级的神经网络知识,比如sigmoid激活函数、神经网络的基本结构等。手把手地教你搭建一个简单的神经网络来处理咖啡豆烘培好坏的分类问题。

2023-03-28 22:37:35 715

原创 leetcode 116 填充每一个结点的右侧结点

相信直觉。要建立好递归的框架思维。写树的题目是锻炼递归思维的绝佳手段。

2022-10-09 20:17:13 83

原创 Leetcode 404 左子叶之和

这道题是一道很典型的树的递归问题。分析递归问题的一大关键在于确定递归边界,也就是确定最小问题。就是把负责的问题极端化到一个很简单的情况,而所有复杂的问题都可以一步一步化归到这个最简单的最小问题。这道题的最小问题有两个,我们一个一个地来分析。至于为什么不是当前的结点是左子叶呢?其实也是可以的,但是我们得要知道当前的结点它父结点的左子叶还是右子叶,那就要新增一个函数参数用于标识。那么就就返回这个子叶的值。

2022-10-08 21:03:04 401

原创 PAT 甲级 1001 题解

【代码】PAT 甲级 1001 题解。

2022-09-14 20:20:06 293

原创 C++ STL容器 vector、arrar和内置数组的效率问题

1. 当数据量较⼩时,既可以使⽤vector(使⽤其push_back函数即可),也可以使⽤array或者内置数组,不过优先建议使⽤vector,其次是array,最后才是内置数组;2. 当数据量较⼤时,且不是全局变量或者静态变量时,此时由于array是在栈上分配空间,此时array不能⽤(因为栈空间有限,数据量太⼤就会栈溢出)(⾄少最新VS2019编译器是这样的),只能⽤vector或在堆上分配空间的内置数组(当然如果array是⼀个全局变量或者静态变量,那么它就是在全局静态区上,⽽不是在栈上了.

2022-05-27 20:46:18 697

原创 Qt编译资源文件时出现INTERNAL: readdir: Invalid argument错误

最近在看豆子老师的Qt学习之路2学习Qt,刚学完Qt的资源管理系统和QAction类想要做一个小demo。导入了丁真的图片并尝试运行,出现了报错在百度找资料,没有,翻了又翻只有一个CSDN的帖子提到这个问题,上面提供的解决方法没有用。去Google找,也没有,但是找到很多编译别的文件时出现了类似报错求助的帖子。Stackoverflow根本就没搜到。。。这还是第一次遇到在网上找不到资料的报错,依稀记得暑假开荒Appium的时候网上资料也是寥寥无几,但是总归还是找到能解决问题的方法于是乎从

2022-05-08 17:54:39 1450

原创 一个简单的基于双缓冲区的控制台绘制类 C++实现

#include <stdio.h>#include <stdlib.h>#include <Windows.h>#include <vector>// 头文件class Drawer {private: char** frame_; HANDLE output, buffer; COORD coord = { 0,0 }; DWORD bytes = 0; int control_ = 0; // .

2022-04-01 17:42:21 480 2

原创 一个简单的矩阵运算类

#include <iostream>using namespace std;class Matrix{private: double mat_[4];public: Matrix(double num = 1); Matrix(double n1, double n2, double n3, double n4); friend ostream &operator<<(ostream &os, const Matrix.

2022-03-28 22:28:47 652

原创 Leetcode 173 二叉搜索树迭代器

173. 二叉搜索树迭代器难度中等576实现一个二叉搜索树迭代器类BSTIterator,表示一个按中序遍历二叉搜索树(BST)的迭代器:BSTIterator(TreeNode root)初始化BSTIterator类的一个对象。BST 的根节点root会作为构造函数的一部分给出。指针应初始化为一个不存在于 BST 中的数字,且该数字小于 BST 中的任何元素。 boolean hasNext()如果向指针右侧遍历存在数字,则返回true;否则返回false。 int...

2022-03-28 09:19:12 126

原创 一个小Library类

#include <vector>#include <unordered_map>#include <string>#include <cstring>#include <regex>#include <exception>#include <iostream>using namespace std;// 输入格式错误异常类class FormatError {public: FormatError.

2022-03-13 10:34:03 197

原创 Leetcode 112 路径总和

题目描述给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶子节点 是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22输出:true解释:等于目标和的根节点到叶节点路径如上图所示。示例

2022-03-08 23:21:24 77

原创 Leetcode 111 二叉树的最小深度

题目描述给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2示例 2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5提示:树中节点数的范围在 [0, 105] 内-1000 <= Node.val <= 1000通过次数340,480提交次数685.

2022-03-08 23:09:32 64

原创 Python selenium+cookie实现免密登陆

今天爬取airbnb的租房数据时,遇到了登陆问题。自己动手解决了一下。我们知道,http是无状态的,那么网页如何实现用户登陆注册功能呢?Session和Cookie就是为了满足这种需求出现的技术。首先介绍一下Session和Cookie的概念。在Web中Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web

2022-02-21 09:36:59 4897 6

原创 一个简单的bing图片爬虫

# -*- coding: utf-8 -*-# 作者:ERicimport reimport osfrom time import sleepfrom bs4 import BeautifulSoupfrom msedge.selenium_tools import Edge, EdgeOptionsfrom funcs import url_funcsglobal keyword, pic_num, base_urltags = []keyword = input('请输入关键.

2022-02-07 17:23:10 844

原创 PAT 乙级 1100 校庆

【题目描述】1100 校庆 (25 分)2019 年浙江大学将要庆祝成立 122 周年。为了准备校庆,校友会收集了所有校友的身份证号。现在需要请你编写程序,根据来参加校庆的所有人士的身份证号,统计来了多少校友。输入格式:输入在第一行给出不超过 105 的正整数 N,随后 N 行,每行给出一位校友的身份证号(18 位由数字和大写字母X组成的字符串)。题目保证身份证号不重复。随后给出前来参加校庆的所有人士的信息:首先是一个不超过 105 的正整数 M,随后 M 行,每行给出一位人士的身份..

2022-01-19 04:22:56 1149 3

原创 Leetcode 781 森林中的兔子

781. 森林中的兔子难度中等203森林中,每个兔子都有颜色。其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色。我们将这些回答放在answers数组里。返回森林中兔子的最少数量。示例:输入: answers = [1, 1, 2]输出: 5解释:两只回答了 "1" 的兔子可能有相同的颜色,设为红色。之后回答了 "2" 的兔子不会是红色,否则他们的回答会相互矛盾。设回答了 "2" 的兔子为蓝色。此外,森林中还应有另外 2 只蓝色兔子的回答没有包含在数组中..

2021-12-06 18:31:14 82

原创 Leetcode 443 压缩字符串

443. 压缩字符串难度中等273收藏分享切换为英文接收动态反馈给你一个字符数组chars,请使用下述算法压缩:从一个空字符串s开始。对于chars中的每组连续重复字符:如果这一组长度为1,则将字符追加到s中。 否则,需要向s追加字符,后跟这一组的长度。压缩后得到的字符串s不应该直接返回,需要转储到字符数组chars中。需要注意的是,如果组长度为10或10以上,则在chars数组中会被拆分为多个字符。请在修改完输入数组后,返回该数...

2021-12-01 18:32:26 112

原创 Leetcode 18 四数之和

18. 四数之和难度中等1024收藏分享切换为英文接收动态反馈给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a], nums[b], nums[c], nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0 <= a, b, c, d< n a、b、c和d互不相同 nums[a] + nums[b] + nums[c] + nums[d] == target你可以...

2021-12-01 10:13:16 138

原创 Leetcode 88 合并两个有序数组

88. 合并两个有序数组难度简单1201给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m + n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。...

2021-11-30 22:01:23 70

原创 Leetcode 11 盛最多水的容器

11. 盛最多水的容器难度中等2980给你n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai)。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai)和(i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表...

2021-11-30 21:42:07 89

原创 Leetcode 1838 最高频元素的频数

1838. 最高频元素的频数难度中等191元素的频数是该元素在一个数组中出现的次数。给你一个整数数组nums和一个整数k。在一步操作中,你可以选择nums的一个下标,并将该下标对应元素的值增加1。执行最多k次操作后,返回数组中最高频元素的最大可能频数。示例 1:输入:nums = [1,2,4], k = 5输出:3解释:对第一个元素执行 3 次递增操作,对第二个元素执 2 次递增操作,此时 nums = [4,4,4] 。4 是数组中最高频元...

2021-11-30 20:33:27 94

原创 Leetcode 1052 爱生气的书店老板

1052. 爱生气的书店老板难度中等200今天,书店老板有一家店打算试营业customers.length分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第i分钟生气,那么grumpy[i] = 1,否则grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续X分钟不生气,但却只能使...

2021-11-30 11:40:08 99

原创 Leetcode 1004 最大连续1的个数Ⅲ

给定一个由若干 0 和 1 组成的数组A,我们最多可以将K个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。示例 1:输入:A = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释:[1,1,1,0,0,1,1,1,1,1,1]粗体数字从 0 翻转到 1,最长的子数组长度为 6。示例 2:输入:A = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3输出:10解释:[0,0,1,...

2021-11-30 10:57:36 376

原创 Leetcode 424 替换后的最长重复字符

424. 替换后的最长重复字符难度中等516收藏分享切换为英文接收动态反馈给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换k次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度 和k不会超过104。示例 1:输入:s = "ABAB", k = 2输出:4解释:用两个'A'替换为两个'B',反之亦然。示例 2:输入:s = "AABABBA", k = 1输出:4解释:将中间的一个'A...

2021-11-29 14:43:03 68

原创 Leetcode 220 存在重复元素Ⅲ

220. 存在重复元素 III难度中等523收藏分享切换为英文接收动态反馈给你一个整数数组nums和两个整数k和t。请你判断是否存在两个不同下标i和j,使得abs(nums[i] - nums[j]) <= t,同时又满足abs(i - j) <= k。如果存在则返回true,不存在返回false。示例1:输入:nums = [1,2,3,1], k = 3, t = 0输出:true示例 2:输入:nums = [1,0,...

2021-11-29 14:36:59 3759

原创 Leetcode 187 重复的DNA序列

187. 重复的DNA序列难度中等303所有 DNA 都由一系列缩写为'A','C','G'和'T'的核苷酸组成,例如:"ACGAATTCCG"。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 DNA 字符串s中出现次数超过一次。示例 1:输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"输出:["AAAAACCCCC","CCCCCAAAAA"]...

2021-11-29 14:29:21 3616

原创 Leetcode 3 无重复元素的最长子串

给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"...

2021-11-29 14:14:51 65

原创 Leetcode 459 重复的子字符串

459. 重复的子字符串难度简单569给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False示例 3:输入: "abcabcabcabc"输出: True解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "abcabc" 重复两

2021-11-27 15:44:37 152

原创 Leetcode 521 最长特殊序列Ⅰ

521. 最长特殊序列 Ⅰ难度简单109收藏分享切换为英文接收动态反馈给你两个字符串,请你从这两个字符串中找出最长的特殊序列。「最长特殊序列」定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。示例 1:输入: "aba", "cdc"输出: 3解释: .

2021-11-27 09:38:47 75

原创 Leetcode 611 有效三角形的个数

611. 有效三角形的个数难度中等321收藏分享切换为英文接收动态反馈给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。示例 1:输入: [2,2,3,4]输出: 3解释:有效的组合是: 2,3,4 (使用第一个 2)2,3,4 (使用第二个 2)2,2,3注意:数组长度不超过1000。 数组里整数的范围为 [0, 1000]。通过次数52,784提交次数99,114请问您在哪类招聘中遇到此题?题目分析我恨二分查找,下周就

2021-11-26 15:50:46 3262

原创 Leetcode 74 搜索二维矩阵

编写一个高效的算法来判断m x n矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3输出:true示例 2:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13输出:false提示:...

2021-11-26 14:45:55 63

原创 Leetcode 852 山脉数组的索引峰值

852. 山脉数组的峰顶索引难度简单221收藏分享切换为英文接收动态反馈符合下列属性的数组arr称为山脉数组:arr.length >= 3 存在i(0 < i< arr.length - 1)使得: arr[0] < arr[1] < ... arr[i-1] < arr[i] arr[i] > arr[i+1] > ... > arr[arr.length - 1] 给你由整数组成的山脉数组arr,返回任何满足...

2021-11-25 21:14:42 304

原创 Leetcode 367 有效的完全平方数

367. 有效的完全平方数难度简单323收藏分享切换为英文接收动态反馈给定一个正整数num,编写一个函数,如果num是一个完全平方数,则返回true,否则返回false。进阶:不要使用任何内置的库函数,如sqrt。示例 1:输入:num = 16输出:true示例 2:输入:num = 14输出:false提示:1 <= num <= 2^31 - 1通过次数119,927提交次数267,897请问您在哪类招...

2021-11-25 20:53:21 140

原创 Leetcode 163 寻找峰值

162. 寻找峰值难度中等657收藏分享切换为英文接收动态反馈峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设nums[-1] = nums[n] = -∞。你必须实现时间复杂度为O(log n)的算法来解决此问题。示例 1:输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。示例2:...

2021-11-25 20:44:58 576

原创 C语言实现的图书管理系统(管理员端)

因为C语言内部只有一个非常原始的数组数据结构,所以我考虑了很久到底要怎么存储书籍信息。。最后的方案是维护一个伪动态数组,维护一个指针,指向数组末位元素。增加元素时,直接覆盖掉指针后一位,并且指针自增。要注意数组越界问题。删除元素时,将目标删除元素和末位元素交换位置,然后指针自减。除此之外,为了实现模糊查找,用了KMP模式匹配算法。但是最让我满意的还是,写代码过程中,我两三分钟手撕了快速排序~~~//图书馆管理系统管理员端#define _CRT_SECURE_NO_WARNING

2021-11-25 17:46:06 2463

原创 PAT 1048 Find Coins

Eva loves to collect coins from all over the universe, including some other planets like Mars. One day she visited a universal shopping mall which could accept all kinds of coins as payments. However, there was a special requirement of the payment: for e..

2021-11-24 22:05:47 92

原创 PAT 1044 Shopping in Mars

Shopping in Mars is quite a different experience. The Mars people pay by chained diamonds. Each diamond has a value (in Mars dollars M$). When making the payment, the chain can be cut at any position for only once and some of the diamonds are taken off the

2021-11-24 21:43:23 178

空空如也

空空如也

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

TA关注的人

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