- 博客(260)
- 收藏
- 关注
原创 字节跳动国际化电商实习一二三面(进入hr面)
广东工业大学的一枚菜鸡初次投递大厂一面一面面试官很耐心和蔼 爱了1.讲一下IO多路复用2.讲一下LT和ET3.讲一下你项目的难点和怎么解决的4.echo hello > a.txt这条Linux命令发生了什么 从操作系统分析可以从进程的文件描述符表 内核的打开文件表 内核的i-node表展开分析5.系统调用过程发生了什么中断 eax寄存器传入系统调用号 内核态转换到用户态6.内核态和用户态转换发生了什么中断 用户栈切换到内核栈(ss寄存器、sp寄存器)、处理器指令集执行权限变更(
2022-01-10 15:13:08 1242
原创 459. 重复的子字符串(KMP算法)
459. 重复的子字符串优秀解法:KMP(n,n)fail数组定义:最长前后缀长度-1 如ababab为3 最长前后缀为4:abab(第一个) abab(第二个)初始值为什么为-1:让第一个if的now + 1 = 0 否则会少判断第一个字母怎么加速获得fail值:如果s[now + 1] == s[i] 即在最长前缀的后一个字母也和当前串下一个字母相同 那么当然最长前后缀长度加一如果不相等 那么仍可利用原来的最长前后缀我们当然不想把这个长度缩小太多 因为我们要找的是最
2021-09-20 12:23:54 274
原创 一步步将dfs回溯剪枝进行优化(LeetCode 79. 单词搜索)
一个极其普通的解法主要思想是找到可行的起始点 深度遍历搜索 保存当前的字符串如果匹配则继续否则剪枝class Solution { char[][] board; boolean res = false; int n; int m; boolean[][] visited; public boolean exist(char[][] board, String word) { this.board = board; n =
2021-08-18 12:40:00 267 2
原创 718. 最长重复子数组:滑动窗口解法注释
优秀解法:滑动窗口class Solution { public int findLength(int[] nums1, int[] nums2) { return nums1.length < nums2.length ? changeList(nums1,nums2) : changeList(nums2,nums1); } public int changeList(int[] nums1,int[] nums2){ int res.
2021-06-04 13:06:53 136
原创 3. 无重复字符的最长子串
3. 无重复字符的最长子串我的解法滑动窗口(操作字符) 时间O(n)注意点遇到重复字符时,将cur和res比较长度像ertezdf这种情况 遍历到第二个e时,中间的rt要被保留当遍历完毕,更新res代码class Solution { public int lengthOfLongestSubstring(String s) { StringBuilder cur = new StringBuilder(); St
2021-06-01 15:20:54 70
原创 2020蓝桥杯Java B组省赛 网络分析 思路 代码 注释
10.网络分析问题描述小明正在做一个网络实验。他设置了 n 台电脑,称为节点,用于收发和存储数据。初始时,所有节点都是独立的,不存在任何连接。小明可以通过网线将两个节点连接起来,连接后两个节点就可以互相通信了。两个节点如果存在网线连接,称为相邻。小明有时会测试当时的网络,他会在某个节点发送一条信息,信息会发送到每个相邻的节点,之后这些节点又会转发到自己相邻的节点,直到所有直接或间接相邻的节点都收到了信息。所有发送和接收的节点都会将信息存储下来。一条信息只存储一次。给出小明连接和测试的
2021-04-17 16:55:52 258
原创 快速幂、矩阵快速幂介绍 2015年蓝桥杯Java B组第九题 垒骰子
2015年蓝桥杯Java B组第八题 垒骰子快速幂介绍矩阵快速幂来源矩阵快速幂其实就是上面介绍的快速幂,然后把两数的乘法改成两矩阵的乘法而已使用本层需要的数据和前面层的数据相关或部分相关(斐波那契数列等)题目赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子:1 的对面是 4,2 的对面是 5,3 的对面是 6。假设有 m 组互斥现象,每组中的那两个数字
2021-04-12 16:07:42 109
原创 2019蓝桥杯 迷宫 Java 代码注释
5.迷宫下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,一共10 步。其中D、U、L、R 分别表示向下、向上、向左、向右走。对于下面这个更复杂的迷宫(30 行50 列),请找出一种通过迷宫的方式,其使用的步数最少,在步数最少的前
2021-04-05 11:09:15 1615 5
原创 大二学生的Java后端相关笔记分享(码云仓库)
1.Java并发编程的艺术2.高性能MySQL3.Netty4.Redis设计与实现5.计算机网络 自顶向下方法6.设计模式7.Spring源码深度解析8.MySQL技术内幕 InnoDB存储引擎9.操作系统导论
2021-03-27 12:31:26 183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人