自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

牧野飞鸿的博客

Flying dreams, Create the future!

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

原创 SQL29 计算用户的平均次日留存率

题目:现在运营想要查看用户在某天刷题后第二天还会再来刷题的留存率。SQL29 计算用户的平均次日留存率。

2025-03-10 22:35:53 269

原创 TLB和Cache设计与实现

TLB和Cache都是高速缓存,但TLB缓存的是页表数据,而Cache缓存的是实际数据。TLB的访问速度对于虚拟地址到物理地址的转换至关重要,而Cache的访问速度则对于提高指令和数据的读取速度至关重要。

2024-12-09 19:40:19 1025

原创 内存管理:内存分页

虚拟地址与物理地址之间通过页表来映射,页表是存储在内存里的,CPU 种的内存管理单元 (MMU,Memory Management Unit)就做将虚拟地址转换成物理地址的工作。

2024-12-09 18:50:00 859

原创 TCP的滑动窗口和拥塞控制

本文详细介绍了TCP中的滑动窗口机制,包括不同类型的协议如停止等待、后退N帧和选择重传,以及它们如何管理发送窗口和接收窗口。此外,文章还讨论了拥塞控制策略,如慢开始、拥塞避免和快重传、快恢复算法,以优化网络通信效率。

2024-12-09 16:30:22 982

原创 2024年下半年软件设计师上午真题【回忆】

2024年下半年软件设计师上午真题【回忆版】

2024-11-10 14:54:30 753 1

原创 2024年上半年软件设计师上午真题

某树T的度为4,其中有5个度为4的结点,8个度为3的结点,6个度为2的结点,10个度为1的结点,则T中的叶子结点个数为( )。5.已知二维数组A按行优先方式存储,每个元素占用2个存储单元,第一个元素A[0][0]的地址为100,元素A[3][3]的存储地址是220,则元素A[5][5]的地址是( )。6.采用简单选择排序算法对序列(49,38,65,97,76,13,27,49)进行非降序排序,两趟后的序列为( )。A.索引 B.基于文件的簇状链式结构 C.链式结构 D.顺序结构。

2024-11-08 22:44:15 1114

原创 软件设计师中级 第9章 数据库技术基础

就是针对某一具体的关系数据库的约束条件,反应某一具体应用所设计的数据必须满足的语义要求。指用户对某一具体数据指定的约束条件进行检验。

2024-11-08 22:31:17 1065

原创 软件设计师中级 第2章 程序设计语言基础知识

软件设计师中级 第2章 程序设计语言基础知识

2024-11-05 23:30:30 638

原创 软件设计师中级 第1章 计算机系统知识

软考中级 第一章 计算机系统知识

2024-11-05 22:06:00 724

原创 LeetCode面试算法-力扣 122. 买卖股票的最佳时机 II

122. 买卖股票的最佳时机 II

2023-09-03 23:05:32 208

原创 LeetCode面试算法-力扣 88. 合并两个有序数组

88. 合并两个有序数组

2023-09-03 21:46:44 486

原创 LeetCode面试算法-力扣 605. 种花问题

给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。若当前位是0,判断下一位是否为0,若为0,则说明这个位置可以种花,并且继续跳两位;考虑是否跳到最后一位,即length-1,则必然可以种下,因为左面又为0,而右面没有数字;若当前位是1,则下一位必定是空位,且必然不能种花,因为左面已经有一朵花了,因此直接跳到下下位(i+2);若当前位是0,判断下一位是否为0,若为1,则说明下一位为1,且下下位为0,因此我们直接跳三步。

2023-06-14 23:39:31 218

原创 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-12-18 22:17:42 198

原创 LeetCode面试算法-力扣 455. 分发饼干

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

2021-12-10 07:43:29 172

原创 LeetCode面试算法-力扣 409. 最长回文串

题目描述 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1: 输入: "abccccdd" 输出: 7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。分析:遍历字符串并统计每个字母的个数,累计偶数项字母个数count,若有奇数项字母,flag为true,则count加1,若无奇数项字母,则...

2021-12-08 23:59:39 385

原创 LeetCode面试算法-力扣 133. 克隆图

题目描述 给你无向连通图中一个节点的引用,请你返回该图的 深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。每个节点的值都和它的索引相同。例如,第一个节点值为 1(val = 1),第二个节点值为 2(val = 2),以此类推。该图在测试用例中使用邻接列表表示。邻接列表 是用于表示有限图的无序列表的集合。每个列表都描述了图中节点的邻居集。给定节点将始终是图中的第一个节点(值为 1)。你必须将给定节点的拷贝作为对克隆图的引用返回。示例...

2020-11-01 10:03:39 229

原创 LeetCode面试算法-力扣 582. 杀死进程

题目描述 给n个进程,每个进程都有一个独一无二的PID(进程编号)和它的PPID(父进程编号)。每一个进程只有一个父进程,但是每个进程可能会有一个或者多个孩子进程。它们形成的关系就像一个树状结构。只有一个进程的PPID是0,意味着这个进程没有父进程。所有的PID都会是唯一的正整数。我们用两个序列来表示这些进程,第一个序列包含所有进程的PID,第二个序列包含所有进程对应的PPID。现在给定这两个序列和一个PID表示你要杀死的进程,函数返回一个 PID序列,表示因为杀这个进程而导致的所有被杀掉的进程的..

2020-10-14 00:03:06 2432

原创 LeetCode面试算法-力扣 820. 单词的压缩编码

题目描述 给定一个单词列表,我们将这个列表编码成一个索引字符串S与一个索引列表 A。例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S中索引的位置开始读取字符串,直到 "#" 结束,来恢复我们之前的单词列表。那么成功对给定单词列表进行编码的最小字符串长度是多少呢?示例 1: 输入: words = ["time", "m...

2020-09-25 22:21:57 343 1

原创 LeetCode面试算法-力扣 21. 合并两个有序链表

题目描述 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if (l1 == null &&amp...

2020-09-24 23:42:32 153

原创 LeetCode面试算法-力扣 198. 打家劫舍

题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1: 输入:[1,2,3,1] 输出:4 解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4...

2020-09-10 23:38:54 223

原创 LeetCode面试算法-力扣 28. 实现 strStr()

题目描述实现strStr()函数。给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。说明:当 needle 是空字符串时,我们应当返回 0。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needle = "bba"...

2020-06-20 16:21:56 188

原创 LeetCode面试算法-力扣 20. 有效的括号

题目描述 给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。 有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。说明:注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:...

2020-02-08 10:35:44 246

原创 LeetCode面试算法-力扣 557. 反转字符串中的单词 III

557. 反转字符串中的单词 III题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。说明:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。示例 1: 输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc"分...

2019-05-16 13:27:14 420

原创 LeetCode面试算法-力扣 929. 独特的电子邮件地址

929. 独特的电子邮件地址题目描述 每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。例如,在 alice@leetcode.com中,alice 是本地名称,而 leetcode.com 是域名。除了小写字母,这些电子邮件还可能包含 '.' 或 '+'。 ①如果在电子邮件地址的本地名称部分中的某些字符之间添加句点('.'),则发往那里的邮件将会转发到本地名称中...

2019-05-16 12:54:04 770

原创 LeetCode面试算法-力扣 151. 翻转字符串里的单词

151. 翻转字符串里的单词题目描述 给定一个字符串,逐个翻转字符串中的每个单词。说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。示例 1: 输入: "the sky is blue" 输出: "blue is sky the"示例 2: 输入...

2019-05-15 18:24:09 455

原创 LeetCode面试算法-力扣 3. 无重复字符的最长子串

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

2019-05-15 15:47:54 431

原创 LeetCode面试算法-力扣 567. 字符串的排列

567. 字符串的排列题目描述 给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。即判断第一个字符串的排列之一是否是第二个字符串的子串。说明:输入的字符串只包含小写字母,两个字符串的长度都在 [1, 10,000] 之间。示例1: 输入: s1 = "ab" s2 = "eidbaooo" 输出: True 解释: s2 ...

2019-04-28 17:44:25 669

原创 LeetCode面试算法-力扣 14. 最长公共前缀

14. 最长公共前缀题目描述 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。说明:所有输入只包含小写字母 a-z 。示例 1: 输入: ["flower","flow","flight"] 输出: "fl"示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输...

2019-04-28 17:21:13 314 1

原创 LeetCode面试算法-力扣 136. 只出现一次的数字

136. 只出现一次的数字题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1: 输入: [2,2,1] 输出: 1示例 2: 输入: [4,1,2,1,2] 输出: 4分析:①使用ArrayList动态...

2019-04-26 12:58:13 452

原创 设计模式-单例模式(Singleton Pattern)

单例模式(Singleton Pattern) 单例模式确保一个类仅有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式的要点有三个:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式是一种对象创建型模式。 单例模式只包含一个单例角色:单例类拥有一个私有构造函数,确保用...

2019-04-24 11:28:14 201

原创 字符串创建与存储的机制

3.字符串创建与存储的机制是什么?①创建对象String s1 = new String("abc");String s2 = new String("abc"); 两条new语句创建了两个对象,然后用s1,s2这两个变量分别指向了其中一个对象,这是两个不同的对象,它们的首地址是不同的,即s1和s2中存储的数值是不相同的,所以,表达式s1==s2将返回false,而这两个对象中的...

2019-04-04 20:50:55 609

原创 LeetCode面试算法-力扣 121. 买卖股票的最佳时机

121. 买卖股票的最佳时机题目描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价...

2019-03-14 16:35:42 407 1

原创 2018校招真题在线编程-牛客网

题目描述 小易有一些彩色的砖块。每种颜色由一个大写字母表示。各个颜色砖块看起来都完全一样。现在有一个给定的字符串s,s中每个字符代表小易的某个砖块的颜色,小易想把他所有的砖块排成一行。如果最多存在一对不同颜色的相邻砖块,那么这行砖块就很漂亮的。请你帮助小易计算有多少种方式将他所有砖块排成漂亮的一行。(如果两种方式所对应的砖块颜色序列是相同的,那么认为这两种方式是一样的。)例如: s = ...

2019-03-10 11:41:52 178

原创 2018校招真题在线编程-牛客网

题目描述 假设一个探险家被困在了地底的迷宫之中,要从当前位置开始找到一条通往迷宫出口的路径。迷宫可以用一个二维矩阵组成,有的部分是墙,有的部分是路。迷宫之中有的路上还有门,每扇门都在迷宫的某个地方有与之匹配的钥匙,只有先拿到钥匙才能打开门。请设计一个算法,帮助探险家找到脱困的最短路径。如前所述,迷宫是通过一个二维矩阵表示的,每个元素的值的含义如下 0-墙,1-路,2-探险家的起始位置,3-...

2019-03-10 11:37:56 296

原创 2018校招真题在线编程-牛客网

题目描述 六一儿童节,老师带了很多好吃的巧克力到幼儿园。每块巧克力i的重量为w[i],对于每个小朋友j,当他分到的巧克力大小达到h[j] (即w[i]>=h[j]),他才会上去表演节目。老师的目标是将巧克力分发给孩子们,使得最多的小孩上台表演。可以保证每个w[i]> 0且不能将多块巧克力分给一个孩子或将一块分给多个孩子。输入描述 第一行:n,表示h数组元素个数...

2019-03-07 19:28:57 295

原创 2018校招真题在线编程-牛客网

题目描述 有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。输入描述 空格分隔的两个字符串,代表输入的两个大整数输出描述 输入的乘积,用字符串表示示例1 输入:72106547548473106236 982161082972751393 输出:7082024482963453804084865646610...

2019-03-02 15:21:19 296

原创 2018校招真题在线编程-牛客网

题目描述 给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)。输入描述 无序整数数组A[n]输出描述 满足条件的最大乘积示例1 输入:3 4 1 2 输出:24分析:求三个数字的最大乘积:1数组全部是正数,最大三个数的乘积,2数组全部是负数,最大三个数的乘积,3数组有正有负,最...

2019-03-02 14:10:17 267

原创 Java中的作用域有哪些

2. Java中的作用域有哪些?在Java语言中,变量的类型主要有3种:成员变量、静态变量和局部变量。①类的成员变量的作用范围与类的实例化对象的作用范围相同,当类被实例化时,成员变量就会在内存中分配空间并初始化,直到这个被实例化对象的生命周期结束时,成员变量的生命周期才结束。②被static修饰的成员变量称为静态变量或全局变量,与成员变量不同的是,静态变量不依赖于特定的实例,而是被所有...

2019-02-02 00:31:35 5115

原创 为什么需要public static void main(String[] args)这个方法?

1. 为什么需要public static void main(String[] args)这个方法?Java程序的入口方法,JVM在运行程序时首先找main()方法;public是权限修饰符,表明任何类或对象都可以访问这个方法;static表明main()方法是一个静态方法,即方法中的代码是存储在静态存储区的,只要类被加载后,就可以使用该方法而不需要通过实例化对象来访问,可以直接通过...

2019-02-02 00:05:59 4230

原创 编程之法-面试和算法心得

1.3字符串的全排列Java版 解法一:递归实现编程之法:面试和算法心得 / July著 ISBN:978-7-115-38161-3

2018-12-17 14:21:48 225

空空如也

空空如也

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

TA关注的人

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