自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码奴生来就只知道前进

在阁楼上看哲学书的孤独少年

  • 博客(488)
  • 收藏
  • 关注

原创 209. 长度最小的子数组

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂度的解法。...

2020-02-08 19:30:31 419

原创 LeetCode第 18 场双周赛

1331. 数组序号转换给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号。序号代表了一个元素有多大。序号编号的规则如下:序号从 1 开始编号。一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。每个数字的序号都应该尽可能地小。示例 1:输入:arr = [40,10,20,30]输出:[4,1,2,3]解释:40 是最大的元素。 10 是最小...

2020-02-03 14:32:31 499

原创 287. 寻找重复数

给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n2) 。数...

2019-12-24 19:43:02 392

原创 50 Pow(x,n)

Pow(x, n)实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0...

2019-12-23 20:54:57 370

原创 Springboot开发后台接口总结

前言:刚来公司时导师给了一个元数据管理系统让我熟悉,里面大部分接口的实现还是基于neo4j图数据库的,也有用到hive数据库,但只是作为中间库来同步一些数据信息。后面给了些具体需求,让我针对MySQL来开发一些接口。由于代码在内网,所以就不详细展示代码了,主要记录一些碰到的坑和优化点以及一个基本流程。项目技术栈:SpringBoot+gradle+MySQL/neo4j+jpa基本开发流程...

2019-12-20 19:45:45 717

原创 1143. 最长公共子序列

题目描述给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两...

2019-10-09 19:02:26 237

原创 1004. 最大连续1的个数 III

题目描述给定一个由若干 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...

2019-10-05 11:11:32 281

原创 203. 移除链表元素

题目描述删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5分析为了方便处理链表的首个节点,我们可以定义一个辅助的头结点dummy,然后让辅助结点指向链表表头,之后遍历链表,当碰到链表某个结点的值等于给定值,只需让当前结点的前一个结点...

2019-10-01 00:19:37 191

原创 238. 除自身以外数组的乘积

题目描述给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的...

2019-09-12 23:19:04 142

原创 健身计划评估

题目描述请你帮忙给从 1 到 n 的数设计排列方案,使得所有的「质数」都应该被放在「质数索引」(索引从 1 开始)上;你需要返回可能的方案总数。让我们一起来回顾一下「质数」:质数一定是大于 1 的,并且不能用两个小于它的正整数的乘积来表示。由于答案可能会很大,所以请你返回答案 模 mod 10^9 + 7 之后的结果即可。示例 1:输入:n = 5输出:12解释:举个例子,[1,2,...

2019-09-02 12:55:33 460 4

原创 1167. 连接棒材的最低费用

题目描述为了装修新房,你需要加工一些长度为正整数的棒材 sticks。如果要将长度分别为 X 和 Y 的两根棒材连接在一起,你需要支付 X + Y 的费用。 由于施工需要,你必须将所有棒材连接成一根。返回你把所有棒材 sticks 连成一根所需要的最低费用。注意你可以任意选择棒材连接的顺序。示例 1:输入:sticks = [2,4,3]输出:14解释:先将 2 和 3 连接成 5,...

2019-08-26 14:18:32 454

原创 HashMap源码阅读

HashMap源码分析(基于jdk1.8)底层数据结构分析虽然我看的源码是jdk1.8的,但我还是想先提一提jdk1.7的底层实现。jdk1.8对HashMap做了很多优化,但无疑对源码理解增加了不少难度,举个例子,光红黑树就够你研究的了。所以如果是初步学习的话,我倒是推荐先看看jdk1.7的实现。1.7HashMap的底层实现底层结构数组 + 单链表内部包含一个Entry类型的数组...

2019-08-25 19:22:26 362

原创 146. LRU缓存机制

题目描述运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时,它应该在写入新数据之前删除最近最...

2019-08-25 16:39:15 246

原创 拼多多和字节跳动、美团点评、京东、滴滴、携程、网易互娱2020秋招笔试题复盘

今年是什么情况???这笔试题都是竞赛题难度呀,菜鸡表示很受伤。下午的拼多多2小时4的编程题,晚上的字节跳动2小时4道编程题…拼多多昨晚第一题求方差,之后基本就在划水了…不会做字节跳动略微好点,还能多做会…拼多多笔试题求方差给定n个整数,请找出其中3个数,满足这3个数的组合是所有组合...

2019-08-12 14:43:33 2779 2

原创 1151. 最少交换次数来组合所有的 1

给出一个二进制数组 data,你需要通过交换位置,将数组中 任何位置 上的 1 组合到一起,并返回所有可能中所需 最少的交换次数。示例 1:输入:[1,0,1,0,1]输出:1解释: 有三种可能的方法可以把所有的 1 组合在一起:[1,1,1,0,0],交换 1 次;[0,1,1,1,0],交换 2 次;[0,0,1,1,1],交换 1 次。所以最少的交换次数为 1。示例 2...

2019-08-12 12:53:41 1896

原创 LinkedList源码阅读

LinkedList源码阅读(jdk1.8)简介:LinkedList继承自AbstractSequentialList,实现了List、Deque、Cloneable、Serializable接口。底层数据结构为双向链表。实现了List接口,所以可以进行队列操作实现了Deque接口,所以可以进行双端队列操作实现了Cloneable接口,支持克隆实现了Serializable接口,,...

2019-08-05 15:47:04 166

原创 LeetCode第5场双周赛

第一次玩这个,听说比周赛简单点,这次一共四道题,发现自己图论是真不会。后面两题,第三题是裸的最小生成树,第四题是裸的拓扑排序。最大唯一数 显示英文描述用户通过次数 302用户尝试次数 313通过次数 307提交次数 525题目难度 Easy给你一个整数数组 A,请找出并返回在该数组中仅出现一次的最大整数。如果不存在这个只出现一次的整数,则返回 -1。示例 1:输入:[5...

2019-07-28 11:48:38 544

原创 字节跳动提前批第二批笔试题

第二批一共四道编程题…2道dp一道暴力搜索,一道田忌赛马,虽然有两道是经典题,但本菜鸡还是扛不住,宇宙条这难度还是让人服气的,另外面经就不写了,凉面写起来不舒服…第一题田忌赛马赤裸裸的田忌赛马,有兴趣的话可以去网上搜一搜hdu,没什么变动。有两队人,输入n,表示每队有n个人,接着输入两行,每行n个数字,每个数字代表这个队员的速度。两队进行赛跑,赢一局,加一分,输一局,减一分,平局,不加不...

2019-07-16 13:06:27 1697 5

原创 Vector源码阅读

Vector源码阅读(基于jdk1.8)前几天看了ArrayList,今天再来看看Vector,这两个其实大同小异,基本结构都差不多,只是一些细节上有区别:比如线程安全与否,扩容的大小等,Vector的线程安全通过在方法是直接加synchronize实现。扩容默认扩大为原来的2倍。还是先来看类的定义,搞清类的结构层次:可以看到Vector继承了AbstractList,实现了List,Ran...

2019-06-28 21:47:25 377

原创 ArrayList源码阅读

ArrayList源码阅读(基于jdk1.8)我们先来看看类的定义:public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable用的都是Java泛型,继承了Abstrac...

2019-06-22 23:35:32 209

原创 redis学习-单机数据库相关

redis单机数据库部分有很多常见问题:键的过期时间redis的过期键删除策略redis的数据淘汰策略redis的RDB快照持久化和AOF文件持久化redis事件redis服务器中的数据库redis服务器将所有的数据库都保存在服务器状态redis.h/redisServer结构的db数组中。每个redisDb结构代表一个数据库。默认情况下,dbnum为16,即redis服务器默...

2019-05-08 21:36:54 177

原创 redis介绍和数据结构

参考资料:《redis设计与实现》redis介绍Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。...

2019-04-23 20:36:45 741

原创 java.io.IOException: mark/reset not supported

关于调用百度语音识别API出现的小bug这是我在小程序段测试语音识别功能出现的问题!小程序实现语音识别在讲上面的bug之前我先提一下用小程序实现语音识别的大致流程吧。首先在小程序端长按按钮进行录音,得到一份MP3格式的音频文件由于百度的语音识别AI接口无法直接识别压缩的MP3格式的文件,所以需要有一个音频格式转换的函数,将mp3文件转换为pcm文件。之后进行识别,然后将识别结果重新...

2019-03-14 22:33:59 4767

原创 小程序使用局域网调试时踩得坑

小程序局域网通信这次的坑其实是个小问题,但却让我折腾了两天没调好,真是吐血的心都有了。我做的小程序主要是调用百度的一些AI接口来实现功能,例如语音识别,生僻字识别等等。前天傍晚,学长在学校机房给我们演示了下,用手机和电脑都连着校内网,然后将wx,request函数的url里的ip地址改成局域网分配的本机ip。这个ip你可以用ipconfig或者mac用ifconfig查看。回来后我把代码整合...

2019-03-14 22:13:04 3010

原创 关于git push 被 Permission denied

首先我从远程GitHub上面git clone 项目是没问题的,在此之前各种ssh文件以及远程公钥都是配置过的。在本地修改项目内容,想要上传至远程,我们一般都是使用如下三个命令:// 添加当前目录的所有文件到暂存区git add .// 或者 添加指定文件到暂存区git add &lt;filename&gt;// 提交暂存区到仓库区git commt -m "你的描述"//上...

2019-02-27 18:07:21 6709

原创 为什么我说考验人性多半会令你失望

永远不要去尝试考验人性,人性真的经不起考验!下述内容多为个人见解,难免会犯学术上的错误,欢迎指正。我可能有一天会不与代码打交道,但我这一生不可能不与人打交道,这是避免不了的。这也大大激发了了我对人性理解的兴趣,各类学科里面与人性关联度最高的,又属心理学最甚。为了防止有些人说我以偏概全,说还有某某圣人并非如此,某某大贤已经四大皆空,无欲无求,考验他们的人性纯粹多此一举。我只说大多数情况下的...

2018-12-31 13:35:55 2021 2

原创 260. 只出现一次的数字 III

给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。示例 :输入: [1,2,1,3,2,5]输出: [3,5]注意:结果输出的顺序并不重要,对于上面的例子, [5, 3] 也是正确答案。你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?方法一:先对数组进行排序,然后从第一个数开始遍历数组,如果nums...

2018-12-23 21:53:19 419

原创 240. 搜索二维矩阵 II

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24...

2018-12-23 14:58:19 311

原创 236. 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4] _______3______ ...

2018-12-13 21:38:39 357

原创 228. 汇总区间

给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。示例 1:输入: [0,1,2,4,5,7]输出: ["0-&gt;2","4-&gt;5","7"]解释: 0,1,2 可组成一个连续的区间; 4,5 可组成一个连续的区间。示例 2:输入: [0,2,3,4,6,8,9]输出: ["0","2-&gt;4","6","8-&amp

2018-12-12 22:25:01 245

原创 223. 矩形面积

在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。每个矩形由其左下顶点和右上顶点坐标表示,如图所示。示例:输入: -3, 0, 3, 4, 0, -1, 9, 2输出: 45说明: 假设矩形面积不会超出 int 的范围。分析:这题还是比较好想的,只要思路清晰就不容易做错。首先不要想着用一个计算表达式就返回结果,应该先判断两个给定的矩形是否重叠,如果不重叠,那么直接返回两个...

2018-12-06 22:48:13 378

原创 215. 数组中的第K个最大元素

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。分析:我觉得这道题很典型很重要,要吃...

2018-11-28 20:44:31 364

原创 213. 打家劫舍 II

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [2,3,2]输出: 3解释: 你不能...

2018-11-25 21:13:18 247

原创 199. 二叉树的右视图

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 &lt;--- / \2 3 &lt;--- \ \ 5 4 &lt;---考察二叉树的遍历,迭代法借助队...

2018-11-23 22:48:05 180

原创 179. 最大数

给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例 1:输入: [10,2]输出: 210示例 2:输入: [3,30,34,5,9]输出: 9534330说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。思路:这道题其实还挺好想的,就考了个排序。我们自己写个比较函数,假设数组中只有两个数的情况下,其实只有两种排列情况,一个在前一个在后,或者倒一下。...

2018-11-23 21:32:49 788

原创 如何为Nginx服务器配置ssl证书

如何为Nginx服务器配置ssl证书  我前不久才把自己的hexo博客部署到阿里云服务器上,买的学生机LAMP6.0.1,操作系统是centos,部署成功后就去申请备案,备案前期的资料审核还是快的,最后一步管局审核写着不超过20天,结果真的过了20天才发信息来审核通过…  之前的审核过程中,你的域名是不能进行访问,只能通过IP地址访问网站。审核通过后你可以通过http://www.xxx.co...

2018-11-21 22:13:05 503 1

原创 164. 最大间距

给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例 1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例 2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。说明:你可以假设数组中所有元素都是...

2018-11-19 22:10:25 224

原创 151. 翻转字符串里的单词

给定一个字符串,逐个翻转字符串中的每个单词。示例:输入: "the sky is blue",输出: "blue is sky the".说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。进阶: 请选用C语言的用户尝试使用 O(1) 空间复杂度的原地解法。java解...

2018-11-19 11:15:04 646

原创 57. 插入区间

给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入: intervals = [[1,3],[6,9]], newInterval = [2,5]输出: [[1,5],[6,9]]示例 2:输入: intervals = [[1,2],[3,5],[6,7],[8,10]...

2018-11-11 19:47:15 586

原创 56. 合并区间

给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。思路:先...

2018-11-10 21:56:01 152

空空如也

空空如也

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

TA关注的人

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