自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zyy~的博客

我们要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,路遥马亡。

  • 博客(153)
  • 问答 (1)
  • 收藏
  • 关注

原创 《职场话术》如何处理职场刁难

是是是,这事确实是我没有做好,希望刘总能多把把关,我也多学点经验,下次我也能做好。好的,领导,我马上去改,回头我给旭东说一声,这样的问题下次一定不能再犯了,哦我发了你可能没看见,不过没关系,我再给你发一遍。好的,但是我的事情超多,可以和我师父协调一下,行动 + 提及责任人 + 承诺。接受 + 拖拖拖 + 领导挡锅。提示 + 谅解 + 外部执行。这些话可不好乱说,证据呢,

2023-07-09 23:03:12 122

原创 Flink TaskSlot,算子链和并行度

Flink TaskSlot,算子链和并行度。

2023-07-09 22:17:00 543

原创 《空指针》Optional解决链式调用NPE问题

【代码】《空指针》Optional解决链式调用NPE问题。

2023-07-02 21:25:23 228

原创 《程序人生》工作感悟(2022)

应届进入华为,已经3个月了,一切如常,就如同当年想像的那样。

2022-10-24 21:14:25 167 1

原创 《MAC》Pycharm远程连接服务器并调试代码

之前一直是使用jupterNotebook去实现远程访问服务器,后来觉得查找代码不是很方便,于是就选择了使用pycharm去处理这个问题。主要过程是参考这个博客,这里主要是记录几个问题。1.Error running ‘train’: Cannot run program “sftp://***@***/data/anaconda3/bin/python3.7” (in directory “/Users/Desktop/mtad-gat-pytorch-main”): error=2, No suc

2021-12-21 16:39:32 1309 1

原创 秋招总结(2021)

实习:​ 实习是在华为实习的,主要是做了两个项目,一个是NLQ模型的中文迁移,一个是Spark任务的日志解析和指数丰富。哈哈,做的还挺全面,无论后端还是算法任务都有接触到,整体来说,算法很有挑战性,我当时只是把最基础的给复现了一下,基于整体框架做了一个优化,最后准确率达到了40%多,也很荣幸拿到了榜单的前6名,但是对于具体的实习细节没有太多的关注。后来老大又提出了一种方法,又优化了很多。以前说实在的,了解过很多职场的东西,但是后来经过接触,才发现其实就程序员大多数都是很真诚的,都是愿意解决问题的。实习经历

2021-11-09 15:08:05 203

原创 《leetcode》约瑟夫环《数学》

剑指 Offer 62. 圆圈中最后剩下的数字难度简单4480,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 &lt

2021-09-27 18:46:59 132

原创 《leetcode》剪绳子(I,II)《动态规划》

剑指 Offer 14- I. 剪绳子难度中等300给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1示例 2:输入: 10输出: 3

2021-09-26 16:43:30 143

原创 《leetcode》寻找旋转数组中的最小值(I,II)《二分查找》

153. 寻找旋转排序数组中的最小值难度中等568已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ...,

2021-09-26 15:28:16 170

原创 《leetcode》剑指 Offer 07. 重建二叉树(前序中序)《树》

剑指 Offer 07. 重建二叉树难度中等567输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例 1:Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7]示例 2:Input: preorder = [-1], inorder = [-1]Output: [-1]限制:0 &lt

2021-09-26 14:52:17 119

原创 《leetcode》旋转矩阵《模拟》

54. 螺旋矩阵难度中等870给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 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]提示:m == matrix.lengthn == matri

2021-09-26 13:29:56 127

原创 《leetcode》两数之和,三数之和,四数之和《双指针》

1. 两数之和难度简单12203给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [

2021-09-26 12:46:55 80

原创 《leetcode》146. LRU 缓存机制(两种方式)《双向循环链表》

146. LRU 缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,

2021-09-12 08:02:48 139

转载 《基数排序》基数排序详解

一、基数排序思想​ 相比其它排序,主要是利用比较和交换,而基数排序则是利用分配和收集两种基本操作。基数 排序是一种按记录关键字的各位值逐步进行排序的方法。此种排序一般适用于记录的关键字为整数类型的情况。所有对于字符串和文字排序不适合。(O(d(n+k))* : n个d位数,取值范围[0,k],对于每一位,耗时O(n+k), 稳定排序)实现:将所有待比较数值(自然数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变

2021-09-11 16:23:30 2019

转载 《堆排序》堆排序详解

堆排序堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。堆堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图://大顶堆:arr[i] >= arr[2i+1] && arr[i] >= arr[2i+2] //小顶堆:arr[i] <= arr[2i+1] &&

2021-09-10 13:49:17 4487

原创 《leetcode》645. 错误的集合《位操作》

645. 错误的集合难度简单213集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入:nums = [1,2,2,4]输出:[2,3]示例 2:输入:nums = [1,1]输出:[1,2]提示:2 <= nums.

2021-07-04 22:29:49 189 1

原创 《远程服务器》跑Python代码《Linux》

访问远程服务器Jupyter Notebook的方法Pycharm连接远程服务器

2021-06-26 22:00:35 263 1

原创 《leetcode》剑指 Offer 51. 数组中的逆序对《归并排序》

剑指 Offer 51. 数组中的逆序对难度困难427在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000解析:​ 归并排序, 如果mid之后的数排到前面了,那么re+=这个数原来位置之前的比他大的数的个数。模板题。时间复杂度O(nlogn) 空间复杂度 O(n)代码:class Solution {

2021-06-03 20:08:28 100

原创 《leetcode》剑指 Offer 19. 正则表达式匹配《动态规划》

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

2021-06-03 19:19:14 106

原创 《leetcode》剑指 Offer 60. n个骰子的点数《动态规划》

剑指 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

2021-06-01 16:06:58 104

原创 《2021春招复习10》Redis《Redis》

1、简述下Redis☆Redis是一个开源的使用C语言编写,可基于内存,可持久化的Key-Value数据库,和Memcached类似,它支持存储的value类型相对更多,包括string(字符串),list(链表),set(集合),Zset(sorted set—有序集合),和hash(哈希类型)。优势:速度快,性能极高,可持久化,丰富的数据类型,支持数据备份。Redis和Memcached的区别:1、类型Redis是个开源的内存数据结构存储系统,用作数据库,缓存和消息代理。Memcached

2021-05-25 14:39:39 112 1

原创 《2021春招复习12》操作系统《操作系统》

1、线程,进程和协程的区别☆线程是指进程内的一个执行单元,也是进程内可调度的实体。1、线程和进程的区别线程进程拥有资源不拥有资源,但是可以访问隶属进程的资源资源分配的基本单位调度独立调度的基本单位,比进程更小的独立运行基本单位cpu调度和分派的基本单位系统开销开销小,线程切换只需保存和设置少量寄存器内容。开销大,创建和撤销时,都需要为之分配资源或回收资源如内存空间,I/O资源等,进行进程切换时,涉及当前执行进程CPU环境的保存及新调度进程CPU环境的设置

2021-05-25 14:12:40 119 1

原创 《2021春招复习9》数据库《MySql》

1、数据库的ACID特性(1)原子性(Atomicity)事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全被失败回滚。回滚可以用回滚日志来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些操作即可。(2)一致性(Consistency)数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对一个数据的读取结果都是相同的。(3)隔离性(Isolation)一个事务所做的修改在最终提交之前,对其它事务不可见。(4)持久性(Durability)一旦事务提

2021-05-11 22:17:55 98

原创 《2021春招复习8》JUC(java util concurrent)《Java并发》

14、简述线程池 ☆ThreadPoolExecutor线程池及线程扩展策略1、为什么要用线程池?​ **降低资源消耗。**通过重复利用已创建的线程降低线程创建和销毁造成的消耗。​ **提高响应速度。**当任务到达时,任务可以不需要等待线程创建就能立即执行。​ **提高线程可管理性。**线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。2、JUC中的线程池体系ThreadPoolExecutor类和ScheduledTh

2021-05-11 22:02:13 98

原创 《2021春招复习9》数据库《MySql》

1、数据库的ACID特性(1)原子性(Atomicity)事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全被失败回滚。回滚可以用回滚日志来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些操作即可。(2)一致性(Consistency)数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对一个数据的读取结果都是相同的。(3)隔离性(Isolation)一个事务所做的修改在最终提交之前,对其它事务不可见。(4)持久性(Durability)一旦事务提

2021-05-10 23:09:41 87

原创 《2021春招复习11》计算机网络《计算机网络》

1、计算机网路的分层:不同的协议栈用于定义和管理不同网络的数据转发规则。分层模型- OSI国际标准化组织ISO于1984年提出了OSI RM(Open System Interconnection Reference Model,开放系统互连参考模型)。OSI 参考模型很快成为了计算机网络通信的基础模型。OSI参考模型具有以下优点:1、简化了相关的网络操作;2、提供了不同厂商之间的兼容性;3、促进了标准化工作;4、结构上进行了分层;5、易于学习和操作。OSI参考模型各个层次的基本功能如

2021-05-10 23:03:31 224

转载 《2021春招复习7》线程同步的几种方式《Java并发》

8、线程同步的几种方式☆​ 同步是为了在多线程环境下,安全地访问临界区(共享区域),程序不会产生设计之外的错误结果(举个例子,如果一个银行账户同时被两个线程操作,一个取100块,一个存100块。假设账户原有0块,如果取钱线程和存钱线程同时发生,会出现什么错误?)1、Synchronized☆​ 同步方法:即有synchronized关键词修饰的方法。由于java的每个对象都有一个内置锁,当用此关键词修饰方法时,内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。​ 同步代

2021-05-09 21:46:47 174

原创 《2021春招复习6》基础概念《Java并发》

1、简述下Java的内存模型(Java Memory Model (JMM))全面理解Java内存模型​ JVM中存在一个主内存(Main Memory或Java Heap Memory),Java中的所有变量都是存在主存中的,对所有线程共享。每个线程又存在自己的工作内存(本地内存/Working memory),其中主要保存主存中某些变量的copy,线程对所有变量的操作并非发生在主存区,而是发生在工作内存中,但线程之间不能直接访问,变量在程序中的传递主要依靠主存中来完成。引申:线程之间是如何通信的

2021-05-09 21:24:04 79

原创 《2021春招复习5》JVM《JVM》

1、介绍JVM的内存区域(运行时数据区)。☆​ JVM中内存分为若干部分:堆、方法区、虚拟机栈、本地方法栈、程序计数器。其中堆和方法区是线程共享的部分,其他是线程隔离的。1、堆​ Java堆是用来存放实例对象和数组对象的,由于存在逃逸分析技术(分析这个对象不会被其他方法或者线程调用),也可以分布在栈上,随着出栈而被销毁,同时,Java堆也是垃圾回收的主要区域,由于现在垃圾收集器基本都采用分代垃圾收集算法,所以Java堆还可以细分为:新生代和老年代。Java堆在物理上可以不连续,只要逻辑连续就好

2021-05-07 15:46:40 83

原创 《leetcode》剑指 Offer 09. 用两个栈实现队列《辅助栈》

剑指 Offer 09. 用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:[“CQueue”,“delete

2021-05-05 12:30:16 72

转载 《leetcode》剑指 Offer 33. 二叉搜索树的后序遍历序列《单调栈》

剑指 Offer 33. 二叉搜索树的后序遍历序列难度中等253输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。参考以下这颗二叉搜索树: 5 / \ 2 6 / \ 1 3示例 1:输入: [1,6,3,2,5]输出: false示例 2:输入: [1,3,2,6,5]输出: true提示:数组长度 <= ...

2021-05-04 22:52:30 109

原创 《程序人生》学习算法之路

学习算法之路:推荐书籍:C++ primer PlusC Primer Plus算法竞赛紫书:网站:Virtual judge:杭电OJ:复盘:利用好博客:分类复盘:《蓝桥杯》蓝桥杯研究生A组复习(代码经过测试,可以完美运行)《STL》set集合(C++)蓝桥杯 算法提高 矩阵乘法 java90分版,c++100分版其它博客:article/details/88416401)其它博客:​ 博客园,简书等,没事也可以看看github。...

2021-04-28 12:00:02 93

原创 《leetcode》169. 多数元素 229. 求众数 II《摩尔投票》

169. 多数元素难度简单963给定一个大小为n的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入:[3,2,3]输出:3示例2:输入:[2,2,1,1,1,2,2]输出:2进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。Code:class Solution { //摩尔投票法:先假...

2021-04-22 16:11:46 90

原创 《蓝桥杯》蓝桥杯研究生A组复习(代码经过测试,可以完美运行)

1.Eclipse自动提示快捷键设置2.输入输出public static void main(String[] args) throws IOException { //第一种 int m,n,k; long l; /* Scanner cin=new Scanner(System.in); m=cin.nextInt(); l=cin.nextLong(); System.out.println(m+" "+l); cin.close(); */ /

2021-04-17 17:24:11 660

原创 《2021春招复习10》数据库《MySql》

1、数据库的ACID特性(1)原子性(Atomicity)事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全被失败回滚。回滚可以用回滚日志来实现,回滚日志记录着事务所执行的修改操作,在回滚时反向执行这些操作即可。(2)一致性(Consistency)数据库在事务执行前后都保持一致性状态。在一致性状态下,所有事务对一个数据的读取结果都是相同的。(3)隔离性(Isolation)一个事务所做的修改在最终提交之前,对其它事务不可见。(4)持久性(Durability)一旦事务提

2021-04-13 20:40:03 103

原创 《2021春招复习4》Java基础《集合》

24、ArrayList和LinkedList的区别:底层数据结构:ArrayList底层使用的是数组,LinkedList底层是双向链表数据结构(JDK1.6之前称为循环链表)增删改查:ArrayList:数组:尾插:O(1) 插入,删除:O(n-i) 后面n-i个元素需要向前或向后移动1位。支持快速随机访问。LinkedList: 链表:特定位置插入删除:O(n) 移动到指定位置进行操作, 删除插入本身:O(1) 改一下前驱后继就行了。不支持快速随机访问内存空间占用:ArrayL

2021-04-07 17:58:32 100

原创 《2021春招复习3》Java基础《面向对象》

18.Java反射机制定义:(1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取对象的各种信息。(2)Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁。优缺点:1.优点:运行期类型的

2021-04-06 14:33:04 95

原创 《生活》记录瞬间《程序人生》

leetcode一百道留念。2021年4月4日上午11点

2021-04-04 11:00:47 111

原创 《动态规划》1143. 最长公共子序列《leetcode》

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

2021-04-03 22:08:33 164

原创 《Dp》面试题 17.21. 直方图的水量《leetcode》

面试题 17.21. 直方图的水量难度困难121给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水)。感谢 Marcos贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6通过次数15,503提交次数24,296Code:dpclass Solut..

2021-04-02 11:11:42 75

空空如也

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

TA关注的人

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