自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(242)
  • 资源 (1)
  • 收藏
  • 关注

原创 LeetCode刷题记录

每天进步一点点!LeetCode刷题记录目录1.日常刷题2.每日一题3.周赛1.日常刷题题目难度NO.1 二维数组中的查找(数组、二分法)⭐⭐2.每日一题题目难度46&47_全排列I&II⭐⭐3.周赛题目难度周赛 20201004⭐⭐⭐⭐周赛 20201213⭐⭐⭐...

2021-10-20 11:27:55 204

原创 《剑指Offer》从零开始刷题全记录-Java

#数据结构与算法学习之——《剑指Offer刷题》#持续更新中…开始时间:2020-02-02博主目前研一,刷题开始的有点晚了哈哈刷题笔记是先自己写一遍,然后参考师兄的笔记和牛客上大牛的经验总结整理出来最佳的思路和算法,大部分题目还附带了测试用例(在main函数里)飞一个师兄的刷题博客链接,强迫症福音题目难度NO.1 二维数组中的查找⭐⭐NO.2 替换空格...

2020-02-13 12:19:33 546

原创 【Golang】Json 无法表示 float64 类型的 NaN 以及 Inf 导致的 panic

在 float64 类型中,我们可以通过 zero/zero 来得到 NaN,也可以用过 除零 操作来得到 Inf,在 Google 并没有得到能解释这两种常量存在的原因,只从二进制浮点数算术标准(IEEE 754)看到有相关的定义。结果:可以看待对于 NaN,每次赋值的时候,其实都是给不同的 key 赋值,而 Inf 则不是;:基本可以判断出:NaN 以及 Inf 是 float64 类型的两种特例,Json 无法表示这类数据,故 panic。查阅 log 看到,这里最原始的。,明明是字符串,是如何将。

2024-01-05 17:52:02 1433

原创 【踩坑】反序列化+引用+全局变量

下面这段代码的初衷是给 config.Cluster字段先赋值一个,然后根据conf 配置【json 字符串】来覆盖config.Cluster字段,如果conf 配置中没有 cluster这个key,config.Cluster就会保持默认值。

2023-10-24 17:13:18 120

原创 Go json反序列化“null“踩坑

Go json反序列化"null"踩坑

2023-03-12 18:26:02 921 1

原创 gorm 修改事务维度的隔离级别

gorm修改事务隔离级别

2022-07-26 11:42:46 1324

原创 Go json反序列化“null“结果为nil踩坑

先说结论,“null"是json的一个关键字,jsoniter这个库【其他库没测】在进行json序列化时,会把nil【即指针类型(比如slice、map和*T)的未初始化时的形态】序列化为字符串"null”,反序列化时会把字符串"null",如果目标类型是指针类型,则会反序列化为nil,但是目标结构体内部的自定义type的指针类型不会成为nil【见测试代码图二的mal的E字段,但这就有点不懂为啥了…】建议对**“null”**进行一下特殊处理,或者序列化空指针类型需要注意的是fmt很多时候打印nil的指针类

2022-07-13 12:16:32 2436

原创 【踩坑记录】c++ 打印换行符影响计时

【踩坑】c++ 打印换行符影响计时我不理解,真的不理解…最近在写毕设,碰到需要比较算法的运行速度的场景,需要用到c++的计时,但是因为一个打印语句中打印了换行符就导致另外一个函数的计时慢了一倍,而且这个函数的计时范围根本没包含这个打印语句:如下图所示:被影响的函数内部:图一的打印语句只要一打印换行符(cout打印endl也是),就导致图二的计时增加好多,换了好几种计时方法,都是这种现象为啥会影响到跟自己作用域完全不相干的计时里面去啊?换行符干了什么啊?刷新了缓存,要重新加载一些值?啊啊啊?我不

2022-04-26 14:32:55 1012

原创 【踩坑】libstdc++.so.6: version `GLIBCXX_3.4.26’ not found解决方法

libstdc++.so.6: version `GLIBCXX_3.4.26’ not found解决方法这种情况说明libstdc++.so.6连接的版本不够高。直接:wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip(如果需要更高版本可以去百度找一下)然后解压:unzip libstdc.so_.6.0.26.zip (没有unzip的话自己百度安装)然后以下步骤就是建立软连接:在libstdc

2022-02-21 14:47:50 12893 7

原创 【踩坑】树莓派开启root账户忘记密码

【踩坑】树莓派开启root账户忘记密码有个需求想修改树莓派root文件夹下的某个文件,突然发现root文件夹没有权限打不开,su root命令提示要输入密码,但是输完了以后显示鉴定故障,我想要么就是初始密码不为空,要么就是我把密码给忘了,从网上搜到了解决方法,以下这条命令可以修改密码sudo passwd root输入两遍新密码,然后再执行su root就可以以root的身份修改文件了...

2022-02-20 19:46:03 1235

原创 Linux服务器【无GPU】安装Anaconda和PyTorch记录

Linux服务器安装Anoconda和Pytorch记录1. 下载安装文件官网下载源很慢,我是从清华镜像站下载的,然后用WinSCP上传到服务器上下载地址找一个适合自己系统的安装文件下载下来2.安装服务器终端命令行进入该文件所在文件夹,以上图文件名为例,直接执行sh Anaconda3-2021.11-Linux-x86_64.sh根据提示输入yes -> 按下Enter -> 一直按Enter直到协议最后 -> 输入yes -> 如果默认安装位置,就直接按Enter

2022-02-20 18:46:06 677

原创 【踩坑】Linux anaconda换源 | conda install下载慢问题

Linux anaconda换源 | conda install下载慢问题和apt install或者apt-get install类似,默认是用的国外的源,下载速度很慢,还不稳定,国内一些镜像源做的已经比较好了,从网上搜集了清华大学和北京外国语大学的镜像源,速度提升很多步骤sudo vim ~/.condarc将内容修改为:a. 清华源:channels: - defaultsshow_channel_urls: truechannel_alias: https://mirrors

2022-02-20 16:52:49 848 2

原创 Golang函数内slice进行append时不改变外部值问题

Golang函数内slice进行append时不影响外部值问题这个标题…在看完这篇文章之后应该就能知道,这么说是不正确的,虽然看起来好像是这样的,哈哈哈哈问题引入:下面这样一段代码会输出什么?func main() {array := make([]int, 3, 4)array[0] = 0array[1] = 1array[2] = 2fmt.Printf(“main before: len: %d cap:%d data:%+v\n”, len(array), cap(array),

2021-12-01 22:48:14 1382

原创 Go函数传参:值传递&用明白Go的指针

Golang函数传参:值传递不杠哦,Go语言里面就是没有引用传递先拿C语言说话,解释一下值传递、指针传递和引用传递的含义值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值,是将实参的值拷贝到另外的内存地址中才修改。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。指针传递:形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作;指针传递参数本质上是值传递的方

2021-11-29 22:16:28 5215 6

原创 Golang常量无法取地址

Golang常量无法取地址今天在尝试取常量的地址时出现了报错,会有这样一些场景,嵌套型的struct有些字段是string或者intpackage maintype Obj struct { Prop1 *string Prop2 *int}func main() { obj := Obj{ Prop1: &"a string property", Prop2: &5, }}//报错:Cannot take the addr

2021-11-29 20:00:45 5169

原创 Golang 循环体中的闭包和go func变量取值问题[延迟绑定]

Golang 循环体中的闭包和go func变量取值问题闭包定义举例说明循环体中闭包变量的延迟绑定问题举例说明goroutine延迟绑定-在循环迭代器的变量上使用 goroutines举例说明良好实践我再举个栗子测试一下go func从声明到被调度执行需要的时间再插播一下其实不知道取这个标题表达的准不准确,有些文章会说是延迟绑定问题闭包定义闭包是由函数和与其相关的引用环境组合而成的实体 。函数,指的是在闭包实际实现的时候,往往通过调用一个外部函数返回其内部函数来实现的。内部函数可能是内部实名函数、匿

2021-11-25 22:12:02 2334

原创 Goland 导包飘红 “Cannot resolve ...”解决

Goland 导包飘红 “Cannot resolve …”解决在github上面下了7天用Go从零实现Web框架Gee教程系列的来学习,用goland打开以后,导包各种飘红,还不提示具体因为啥…后来发现是Goland的go module环境需要手动开启才可以打开 file ===> settings => Go=>go modules 那个复选框勾上...

2021-10-31 18:57:00 4054 1

原创 LeetCode 23 合并k个升序链表 题解

LeetCode 23 合并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]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6

2021-10-29 20:51:46 121

原创 LeetCode 22 括号生成 题解

LeetCode 22 括号生成 题解数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8代码:class Solution { List<String> res = new ArrayList<>();

2021-10-29 20:50:02 2569

原创 LeetCode 21 合并两个有序链表 题解

LeetCode 21 合并两个有序链表 题解将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * Li

2021-10-29 20:48:40 100

原创 LeetCode 20 有效的括号 题解

LeetCode 20 有效的括号 题解给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]}"输出:true

2021-10-29 20:46:34 78

原创 LeetCode 15 三数之和 题解

LeetCode 15 三数之和 题解给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[]提示:0 <= nums.length

2021-10-29 20:45:02 122

原创 LeetCode 560 和为k的子数组 题解

LeetCode 560 和为k的子数组 题解给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。代码:class Solution { public int subarraySum(int

2021-10-29 20:40:40 411

原创 LeetCode 724 寻找数组中心索引 题解

LeetCode 724 寻找数组中心索引 题解给你一个整数数组 nums,请编写一个能够返回数组 “中心索引” 的方法。数组 中心索引 是数组的一个索引,其左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,返回 -1 。如果数组有多个中心索引,应该返回最靠近左边的那一个。注意:中心索引可能出现在数组的两端。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:中心索引是 3 。左侧数之和 (1 + 7 + 3 = 11),右侧数之和 (5

2021-10-29 20:31:03 3089

原创 LeetCode 628 三个数的最大乘积 题解

LeetCode 628 三个数的最大乘积 题解给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入:nums = [1,2,3]输出:6示例 2:输入:nums = [1,2,3,4]输出:24示例 3:输入:nums = [-1,-2,-3]输出:-6 提示:3 <= nums.length <= 104-1000 <= nums[i] <= 1000代码:class Solution { pub

2021-10-29 20:29:31 100

原创 LeetCode 445 两数相加II 题解

LeetCode 445 两数相加II 题解区别于第二题给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示例:输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 8 -> 0 -> 7代码:

2021-10-29 20:28:20 81

原创 LeetCode 167 两数之和II 题解

LeetCode 167 两数之和II 题解给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例 1:输入:numbers

2021-10-29 20:25:38 67

原创 LeetCode 547 省份数量 题解

LeetCode 547 省份数量 题解有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。返回矩阵中 省份 的数量。

2021-10-28 10:42:33 420

原创 LeetCode 399 除法求值 题解

LeetCode 399 除法求值 题解给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi = values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。另有一些以数组 queries 表示的问题,其中 queries[j] = [Cj, Dj] 表示第 j 个问题,请你根据已知条件找出 Cj / Dj = ? 的结果作为答案。返回 所有问题的答案

2021-10-28 10:21:55 3802

原创 LeetCode 509 斐波那契数 题解

LeetCode 509 斐波那契数 题解斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n) 。class Solution { public int fib(int n) { if (n < 2) { return

2021-10-28 10:20:25 80

原创 LeetCode 263 & 264 丑数 题解

LeetCode 263 & 264 丑数 题解263编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例 1:输入: 6输出: true解释: 6 = 2 × 3代码:class Solution { public boolean isUgly(int num) { if(num == 0 ){ return false; } while(num % 2 == 0

2021-10-28 10:17:01 66

原创 LeetCode 11 盛最多水的容器 题解

LeetCode 11 盛最多水的容器 题解给你 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-10-28 10:14:27 118

原创 LeetCode 135 分发糖果 题解

LeetCode 135 分发糖果 题解老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。评分更高的孩子必须比他两侧的邻位孩子获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入:[1,0,2]输出:5解释:你可以分别给这三个孩子分发 2、1、2 颗糖果。示例 2:输入:[1,2,2]输出:4解释:你可以分别给这三个孩子分发 1、2、1

2021-10-28 10:10:25 161

原创 LeetCode 9 回文数 题解

LeetCode 9 回文数 题解给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数。示例 4:输入:x = -101输出:false提示:

2021-10-28 09:44:48 64

原创 LeetCode 1704 判断字符串的两半是否相等 题解

LeetCode 1704 判断字符串的两半是否相等 题解给你一个偶数长度的字符串 s 。将其拆分成长度相同的两半,前一半为 a ,后一半为 b 。两个字符串 相似 的前提是它们都含有相同数目的元音('a','e','i','o','u','A','E','I','O','U')。注意,s 可能同时含有大写和小写字母。如果 a 和 b 相似,返回 true ;否则,返回 false 。示例 1:输入:s = "book"输出:true解释:a = "bo" 且 b = "ok" 。a 中有 1

2021-10-28 09:34:14 134

原创 LeetCode 455 分发饼干 题解

LeetCode 455 分发饼干 题解假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例 1:输入: g = [1,2,3], s = [1,1]输出: 1解释: 你有三个孩

2021-10-27 16:24:34 480

原创 LeetCode 958 二叉树的完全性检验 题解

LeetCode 958 二叉树的完全性检验 题解给定一个二叉树,确定它是否是一个完全二叉树。百度百科中对完全二叉树的定义如下:若设二叉树的深度为 h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。(注:第 h 层可能包含 1~ 2h 个节点。)示例 1:输入:[1,2,3,4,5,6]输出:true解释:最后一层前的每一层都是满的(即,结点值为 {1} 和 {2,3} 的两层),且最后一层中的所有结点({4,5

2021-10-27 16:23:22 94

原创 LeetCode 3 无重复字符的最长子串 题解

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

2021-10-27 16:21:22 85

原创 LeetCode 35 搜索插入位置 题解

LeetCode 35 搜索插入位置 题解给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0代码二分class Solution { public int sea

2021-10-27 16:18:27 100

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

LeetCode 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], targe

2021-10-27 16:15:58 99

电子线路课程设计-数字温度计

这是一份电子线路课程设计的实验报告,内容是数字温度计,充实丰富,包括器件介绍以及具体电路

2018-05-31

空空如也

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

TA关注的人

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