自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RyanCYK的计算机世界

请在这里 www.ryancyk.com 联系我!

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

原创 算法 |《剑指offer》面试题53-1. 在排序数组中查找数字

统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0限制:0 <= 数组长度 <= 50000题解:class Solution { public int search(int[] nums, int target) { if(nums == null || nums.length

2020-08-04 09:16:45 223

原创 软件 | hexo博客主题yilia上一页下一页显示的问题

一. 前言用hexo+yilia搭建个人博客网站已经有一段时间了,慢慢地从最早期的样式也改了很多,但是有个问题一直困扰着强迫症的我,问题如下图所示:也就是在主页显示首页的时候,前面会有多余<<Prev,最后一页的时候,有Next>>。看着实在是不美观啊!二. 问题解决原主题yilia默认的分页设置是<<Prev 和 Next>>,我改成了上一页和下一页。也就是在主题文件夹里的yilia>layout>_partial>archive

2020-08-03 17:33:46 785 1

转载 软件 | git实用简易指南

一. 安装下载git OSX 版本下载git Windows版本下载git linux版本二. 创建新仓库在本地创建新文件夹,打开,然后执行:git init用于创建新的git仓库;三. 检出仓库执行如下命令以创建一个本地仓库的克隆版本:git clone /path/to/repository如果是远端服务器上的仓库,命令如下:git clone username@host: /path/to/repository四. 工作流你的本地仓库由 git 维护的三棵“树”组

2020-07-30 18:15:44 178

原创 算法 |《剑指offer》面试题60.n个骰子的点数

把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。示例 1:输入: 1输出: [0.16667,0.16667,0.16667,0.16667,0.16667,0.16667]示例 2:输入: 2输出: [0.02778,0.05556,0.08333,0.11111,0.13889,0.16667,0.13889,0.11111,0.08

2020-07-23 17:02:50 222

原创 软件 | 怎么关闭电脑上被占用的端口

有时候我们需要在电脑上使用8080端口,结果发现被占用了,除了换一个端口号之外,也可以选择关闭被占用的端口,具体操作如下:win+R打开命令行窗口,输入cmd;输入 **netstat -ano**之后会显示所有的端口占用情况:输入 **netstat -ano|findstr "8080"**显示列表中的PID,根据PID在电脑的任务管理器查看对应的占用程序,然后将其关闭即可;输入 **tasklist|findstr "87584"**上一步得到占用8080端口的进程ID为8

2020-07-15 10:09:20 491

原创 算法 |《剑指offer》面试题65.不用加减乘除做加法

写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。 示例:输入: a = 1, b = 1输出: 2提示:a, b 均可能是负数或 0结果不会溢出 32 位整数题解:class Solution { public int add(int a, int b) { //^ 亦或 ----相当于 无进位的求和, 想象10进制下的模拟情况:(如:19+1=20;无进位求和就是10,而非 //20;因为它不管进位情况)

2020-07-15 09:35:49 129

原创 算法 |《剑指offer》面试题40.最小的k个数

输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制:0 <= k <= arr.length <= 100000 <= arr[i] <= 10000题解:class Solution { publi

2020-07-14 09:30:59 118

原创 算法 |《剑指offer》面试题66.构建乘积数组

给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。示例:输入: [1,2,3,4,5]输出: [120,60,40,30,24]提示:所有元素乘积之和不会溢出 32 位整数a.length <= 100000题解:class Solution { public int[] constructArr(int[] a) {

2020-07-13 07:58:36 198

原创 算法 |《剑指offer》面试题 42. 连续子数组的最大和

输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示:1 <= arr.length <= 10^5-100 <= arr[i] <= 100题解:class Solution { public int maxSubArray(

2020-07-12 15:31:11 1333

原创 算法 |《剑指offer》面试题 50.第一个只出现一次的字符

在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。示例:s = "abaccdeff"返回 "b"s = ""返回 " "限制:0 <= s 的长度 <= 50000题解:class Solution { public char firstUniqChar(String s) { for(int i = 0; i < s.length(); i++) { char tmp = s.c

2020-07-11 09:06:47 194

原创 软件 | Linux安装软件时提示”Unable to locate package xxx“错误

新购入了阿里云学生服务器ECS,预装了Ubuntu 18.04,利用xshell远程登录后,想要安装软件时:apt-get install nginx出现了以下错误,试了下安装其他软件,都会提示“Unable to locate package xxx”。查询后得知,这个错误用该是在执行命令前更换了软件源,因此只需要使用如下命令更新一下即可。apt-get update执行完之后再安装软件就不会报错了。...

2020-07-10 10:59:24 923

原创 算法 |《剑指offer》面试题62.圆圈中最后剩下的数字

0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出: 3示例 2:输入: n = 10, m = 17输出: 2限制:1 <= n <= 10^51 <= m <= 10^6题解:class Solutio

2020-07-10 09:05:59 218

原创 算法 |《剑指offer》面试题52.两个链表的第一个公共节点

输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1

2020-07-09 21:50:29 273

原创 算法 |《剑指offer》面试题 57. 和为s的两个数字

输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]限制:1 <= nums.length <= 10^51 <= nums[i] <= 10^6题解

2020-07-08 10:24:25 156

原创 算法 |《剑指offer》面试题39.数组中出现次数超过一半的数字

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2限制:1 <= 数组长度 <= 50000题解:class Solution { public int majorityElement(int[] nums) { //需要的数字出现次数多于一半,那么排序后这个数字必定位于中间,复杂度为O(nlogn)

2020-07-07 18:21:03 156

原创 算法 |《剑指offer》面试题68-I.二叉搜索树的最近公共祖先

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

2020-07-05 14:01:31 181

原创 算法 |《剑指offer》面试题68-II.二叉树的最近公共祖先

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

2020-07-04 09:33:18 156

原创 前端 | hexo+yilia博客主题设置网页ico小图标

我们常常可以看到不同网站都有专属的网页小图标,比如CSDN这个醒目的C,确实让人眼前一亮的感觉。那么在hexo+yilia主题里怎么设置这个网页小图标呢?第一步:首先我们需要制作小图标图,一般网上都有在线制作的工具,这里我们选择比特虫来制作。选择一张喜欢的图片,上传在线生成.ico文件,一般选择32*32大小即可,保存名字为favicon.ico第二步:将 favicon.ico 图标文件放到 themes/yilia/source/img 文件夹下找到 hexo\themes\y

2020-07-03 19:10:18 1168

原创 算法 |《剑指offer》面试题54.二叉树的第k大节点

给定一棵二叉搜索树,请找出其中第k大的节点。示例 1:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E4bqc8t7-1593774144938)(https://i.loli.net/2020/07/03/OX6EQdhoMpqClIa.png)]示例 2:限制:1 ≤ k ≤ 二叉搜索树元素个数题解:/** * Definition for a binary tree node. * public class TreeNode { * int

2020-07-03 19:03:46 151

原创 算法 |《剑指offer》面试题55-II.平衡二叉树

输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例 1:给定二叉树 [3,9,20,null,null,15,7]返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4]返回 false 。限制:1 <= 树的结点个数 <= 10000题解:/** * Definition for a binary tree node. * public class T

2020-07-02 09:16:21 275

原创 算法 |《剑指offer》面试题55-I.二叉树的深度

输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7],[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TUSpvJgW-1593652507255)(https://i.loli.net/2020/07/02/OtRnq9HImZpNBSc.png)]返回它的最大深度 3 。提示:节点总数 <= 10000题解:/**

2020-07-02 09:15:40 226

原创 算法 |《剑指offer》面试题34.二叉树中和为某一值的路径

输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:[[5,4,11,2],[5,8,4,5]]提示:节点总数 <= 10000题解:/

2020-06-27 13:10:00 149

原创 算法 |《剑指offer》面试题33.二叉搜索树的后序遍历序列

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。参考以下这颗二叉搜索树:示例 1:输入: [1,6,3,2,5]输出: false示例 2:输入: [1,3,2,6,5]输出: true提示:数组长度 <= 1000题解:class Solution { // 要点:二叉搜索树中根节点的值大于左子树中的任何一个节点的值,小于右子树中任何一个节点的值,子树也是 pu

2020-06-26 23:42:25 102

原创 算法 |《剑指offer》面试题32-III.从上到下打印二叉树

请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-urtu2CUp-1593082665517)(https://i.loli.net/2020/06/25/VLUvRWB5lYz3yji.png)]提示:节点总数 <= 1000题解:/** * Definition for a binary tree node.

2020-06-25 18:58:27 150

原创 算法 |《剑指offer》面试题32-II.从上到下打印二叉树

从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。提示:节点总数 <= 1000题解:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution {

2020-06-24 06:42:23 132

原创 算法 | 《剑指offer》面试题32.从上到下打印二叉树

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7],[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AOiB0FTo-1592873575630)(https://i.loli.net/2020/06/23/lJVRUYNK4CAbpiz.png)]返回:[3,9,20,15,7]提示:节点总数 <= 1000题解:/** * Definition for a bina

2020-06-23 08:53:19 128

原创 算法 |《剑指offer》面试题31.栈的压入、弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1), push(2), push(3), push(4)

2020-06-22 15:35:10 165

原创 算法 |《剑指offer》面试题30. 包含min函数的最小栈

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top(); --> 返回 0.minStack.m

2020-06-21 09:44:44 144

原创 算法 |《剑指offer》面试题29. 顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制:0 <= matrix.length <= 1000 <= matrix[i].length <= 100题

2020-06-20 11:18:47 989

原创 算法 |《剑指offer》面试题28. 对称的二叉树

请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:输入:root = [1,2,2,null,3,null,3]输出:false限制:0 <= 节点个数 <= 1000题解:/** * Definition for a binary tree node. * public class TreeNode { * int val; *

2020-06-19 09:36:56 175

原创 算法 |《剑指offer》面试题27. 二叉树的镜像

title: 《剑指offer》面试题27. 二叉树的镜像tags:JavaLeetcodecategories: algorithmdeclare: true请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:​ 4/ 2 7/ \ / 1 3 6 9镜像输出:4/ 7 2/ \ / 9 6 3 1示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1].

2020-06-18 11:39:31 148

原创 算法 | 《剑指offer》面试题26. 树的子结构

输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A: 3/ \4 5/ 1 2给定的树 B:4/1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1:输入:A = [1,2,3], B = [3,1]输出:false示例 2:输入:A = [3,4,5,1,2], B = [4,1]输出:true限制:0 <= 节点个数

2020-06-18 10:55:02 163

原创 算法 |《剑指offer》面试题25. 很两个排序的链表

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000题解:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; *

2020-06-10 16:09:20 291

原创 算法 | 《剑指offer》面试题24. 反转链表

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000题解:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next

2020-06-09 23:12:42 127

原创 算法 | 《剑指offer》面试题22. 链表中倒数第k个节点

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.题解:/** * Definition for singly-linked list. * public class ListNode { *

2020-06-07 22:47:12 143

原创 算法 | 《剑指offer》面试题21. 调整数组顺序使奇数位于偶数前面

title: Leetcode 面试题21. 调整数组顺序使奇数位于偶数前面tags:JavaLeetcodecategories: algorithmdeclare: true输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。提示:1 <= nums.length <= 500001 .

2020-06-07 22:09:37 200

原创 算法 |《剑指offer》面试题20. 表示数值的字符串

请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100"、“5e2”、"-123"、“3.1416”、“0123"都表示数值,但"12e”、“1a3.14”、“1.2.3”、“±5”、"-1E-16"及"12e+5.4"都不是。题解:class Solution { public boolean isNumber(String s) { //正则表达式的使用 // s = s.trim(); // if(s == nul

2020-06-04 00:03:54 112

原创 算法 |《剑指offer》面试题19. 正则表达式匹配

请实现一个函数用来匹配包含’. ‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但与"aa.a"和"ab*a"均不匹配。示例 1:输入:s = "aa"p = "a"输出: false解释: "a" 无法匹配 "aa" 整个字符串。示例 2:输入:s = "aa"p = "a*" 输出: true 解释: 因为 '*' 代表

2020-06-02 08:51:59 229

原创 软件 | Markdown更改图片默认大小

Markdown是一款很好用的格式化文本编辑器,不过在上传图片时,会显示为默认大小,不太美观,例如如下所示:我们可以看到默认情况下图片会占据整个版面,那么如何更改图片大小呢?下面我们对同一张图进行操作,主要有以下两种方法:1. 使用HTML标签<img src="图片的url地址" width="70%">...

2020-06-01 13:05:08 663

原创 树莓派 | 无显示器,树莓派配置新手入门

前言:最近新入手了一台树莓派,型号为3B+。作为新手,在参考网上各种教程以后,经过自己实践,成功启动树莓派,因此记录在博客里供以后回顾,以及给有需要的新手提供一点参考。废话不多说,我们开始吧!工欲善其事,必先利其器。在开始配置之前,先盘点一下需要的工具。由于我没有另外购买显示器,因此以下内容作为无显示器下的配置参考。工具:硬件部分:树莓派3b+主机一台网线一根电源&电源线一组16GB内存卡一张读卡器一个可上网电脑一台软件部分:raspbian(系统镜像文件)Win3

2020-06-01 12:03:34 1180

空空如也

空空如也

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

TA关注的人

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