10 2021 档案

摘要:手写RPC框架(二)加入动态代理 如果没有动态代理,远程调用时,需要对每个类都要建立代理,这样会导致代码十分冗余,我们通过Java中Proxy,动态的构建类,来实现AOP的功能。 public static Object newProxyInstance(ClassLoader loader,Cla 阅读全文
posted @ 2021-10-30 13:54 流光之中 阅读(103) 评论(0) 推荐(0) 编辑
摘要:LeetCode-260只出现一次的数字 III 题目 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 思路 哈希表 统计数组中每个元素出现的次数,再遍历哈希表,输出次数为1的元素 位运算 通过学习只出现 阅读全文
posted @ 2021-10-30 10:14 流光之中 阅读(33) 评论(0) 推荐(0) 编辑
摘要:手写RPC框架(一) RPC(Remote Procedure Call),即远程过程调用,主要应用在分布式应用中,将服务部署在不同的机器上,通过RPC框架调用远程服务器中的内容。通常RPC框架采用客户端(Consumer)/服务端(Provider)的模式,其主要流程是: 客户端调用函数 将调用信 阅读全文
posted @ 2021-10-29 23:09 流光之中 阅读(177) 评论(0) 推荐(1) 编辑
摘要:Java动态代理 代理模式主要是指为类提供一个代理对象来间接地访问该类对象,并且可以在代理对象中完成一些通用的操作,例如为代理对象的每个函数都计算执行时间,为了降低代码冗余性,我们通过代理模式,间接的执行类中的方法,并在执行前后计算运行时间。代理并不实现被代理的方法,只是调用被代理类的方法 静态代理 阅读全文
posted @ 2021-10-29 18:08 流光之中 阅读(48) 评论(0) 推荐(0) 编辑
摘要:STL迭代器适配器 迭代适配器是借助5种基础迭代器(输入迭代器、输出迭代器、前向迭代器、双向迭代器、随机访问迭代器)实现的,并对成员方法进行了修改并添加了一些新的方法。 迭代器适配器 名称 功能 反向迭代器(reverse_iterator) 又称“逆向迭代器”,其内部重新定义了递增运算符(++)和 阅读全文
posted @ 2021-10-25 13:53 流光之中 阅读(104) 评论(0) 推荐(0) 编辑
摘要:1.题目 在 LeetCode 商店中, 有 n 件在售的物品。每件物品都有对应的价格。然而,也有一些大礼包,每个大礼包以优惠的价格捆绑销售一组物品。 给你一个整数数组 price 表示物品价格,其中 price[i] 是第 i 件物品的价格。另有一个整数数组 needs 表示购物清单,其中 nee 阅读全文
posted @ 2021-10-24 18:36 流光之中 阅读(36) 评论(0) 推荐(0) 编辑
摘要:STL容器适配器 容器适配器指封装了序容列容器中提供了一些功能,称为适配器类。 适配器 头文件 封装 特点 stack <stack> deque<T> LIFO queue <queue> deque<T> FIFO priority_queue <queue> vector<T> 默认对元素进行 阅读全文
posted @ 2021-10-23 15:36 流光之中 阅读(66) 评论(0) 推荐(0) 编辑
摘要:STL关联式容器 序列式容器的元素由键值对<key,value>,且元素默认是无序的。STL实现时采用红黑树来解决。 容器 特点 map 键值为一,容器会按照键值大小默认升序排列(有序的) set 容器的键和值完全相同,且不能重复,容器会按照键值默认升序排列(有序的) multimap 相较于map 阅读全文
posted @ 2021-10-22 13:21 流光之中 阅读(68) 评论(0) 推荐(0) 编辑
摘要:序列式容器 vector list deque 0. 迭代器 前向迭代器 支持++p,*p等操作 双向迭代器 支持--p等操作哦 随机访问迭代器 p+=i 迭代器往后移动i个元素 p+i 返回迭代器后第i个元素的迭代器 p[i] 返回p后面第i个元素的引用 迭代器定义方式 具体格式 正向迭代器 容器 阅读全文
posted @ 2021-10-22 13:20 流光之中 阅读(54) 评论(0) 推荐(0) 编辑
摘要:1. 符号.和->的区别 A.B,则A为对象或者结构体,点号(.)左边必须为对象实体 A->B,则A为指针,->为成员提取,A->B为提取A中的成员B,A只能指向类,结构体,箭头(->)左边必须为指针 2.const const对象声明必须进行初始化,且不可被修改 默认情况下,const对象仅在文件 阅读全文
posted @ 2021-10-22 13:18 流光之中 阅读(42) 评论(0) 推荐(0) 编辑
摘要:leetcode-211. 添加与搜索单词 - 数据结构设计 题目: 请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配 。 实现词典类 WordDictionary : WordDictionary() 初始化词典对象 void addWord(word) 将 w 阅读全文
posted @ 2021-10-19 22:39 流光之中 阅读(62) 评论(0) 推荐(0) 编辑
摘要:1. 符号.和->的区别 A.B,则A为对象或者结构体,点号(.)左边必须为对象实体 A->B,则A为指针,->为成员提取,A->B为提取A中的成员B,A只能指向类,结构体,箭头(->)左边必须为指针 2. 阅读全文
posted @ 2021-10-17 21:12 流光之中 阅读(21) 评论(0) 推荐(0) 编辑
摘要:leetcode-1734 解码异或后的排列 解题思路 异或运算特性 ab=c      ca=b encode数组长度为n-1,则perm数组长度为n perm=[1,2,3,......,n]的排列 假设perm=[A,B,C,D,E 阅读全文
posted @ 2021-10-16 10:53 流光之中 阅读(41) 评论(0) 推荐(0) 编辑
摘要:leetcode-1707 与数组中元素的最大异或值 解题思路 利用前缀树解决,方法同leetcode421,leetcode421是在整个前缀树中寻找异或值最大的那个值,本题是在小于m的前缀树中对应异或最大的值。 因为queries数组是无序的,如果采用暴力方法+前缀树,则每次查询需要重新构建一次 阅读全文
posted @ 2021-10-16 10:48 流光之中 阅读(28) 评论(0) 推荐(0) 编辑
摘要:leetcode-1269 停在原地的方案数 题目 有一个长度为 arrLen 的数组,开始有一个指针在索引 0 处。 每一步操作中,你可以将指针向左或向右移动 1 步,或者停在原地(指针不能被移动到数组范围外)。 给你两个整数 steps 和 arrLen ,请你计算并返回:在恰好执行 steps 阅读全文
posted @ 2021-10-16 10:47 流光之中 阅读(29) 评论(0) 推荐(0) 编辑
摘要:leetcode-897 递增顺序搜索树 DFS+栈实现 1. 题目 给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。 2. 思路 使用递归实现二叉树的中序遍历较为简单,先遍历左子树,在输出当前节点 阅读全文
posted @ 2021-10-16 10:46 流光之中 阅读(38) 评论(0) 推荐(0) 编辑
摘要:leetcode-714 买卖股票的最佳时机含手续费 1. 题目 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买 阅读全文
posted @ 2021-10-16 10:45 流光之中 阅读(101) 评论(0) 推荐(0) 编辑
摘要:leetcode-525 连续数组 解题思路 解题思路同leetcode-523一致,需要进行预处理,对于一串连续的数组,如果符合条件,其中的0,1数量是一致的,将0变为-1,则数组变为-1和1构成的数组,如果存在一个子数组0、1数量一致,那么新数组-1、1数量一致,则该新子数组求和结果为0,接下来 阅读全文
posted @ 2021-10-16 10:44 流光之中 阅读(37) 评论(0) 推荐(0) 编辑
摘要:leetcode-692 前K个高频单词 Python优先队列的使用 解题思路 hash+sort 统计每个单词出现的频率,然后对字典进行自定义排序,自定义排序操作 sorted(word_dict.items(),key=functools.cmp_to_key(comp)) hash+prior 阅读全文
posted @ 2021-10-16 10:44 流光之中 阅读(128) 评论(0) 推荐(0) 编辑
摘要:leetcode-523 连续的子数组和 解题思路 前缀和 超时 复杂度(O(n2)) 使用一维矩阵sum_matrix存储前缀和,summatrix[i]表示0i元素连续的子数组和,则summatrix[j]summatrix[i]表示ij元素的子数组和,则条件成立 阅读全文
posted @ 2021-10-16 10:43 流光之中 阅读(43) 评论(0) 推荐(0) 编辑
摘要:Leetcode-496 下一个更大元素 题意: 给定两个数组,数组1为数组2的子集,遍历数组1,求出数组1中每个元素在数组2中该元素右边的第一个比该数大的元素,若不存在,则返回-1. eg: nums1=[4,2,3,1] nums2=[3,4,5,1,2] 遍历数组1,对于元素4,更大的元素为5 阅读全文
posted @ 2021-10-16 10:42 流光之中 阅读(35) 评论(0) 推荐(0) 编辑
摘要:leetcode-494 目标和 1. 题目 给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。 返回可以使最终数组和为目标数 S 的所有添加符号的方法数。 2. 解题思路 阅读全文
posted @ 2021-10-16 10:41 流光之中 阅读(34) 评论(0) 推荐(0) 编辑
摘要:leetcode-453 最小移动次数使数组元素相等 题目: 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 思路: 每次移动元素使得n-1元素加一,实际只需要计算操作元素的次数即可。 假设操作元素的次数为m,则,经过m次操作后, 阅读全文
posted @ 2021-10-16 10:40 流光之中 阅读(83) 评论(0) 推荐(0) 编辑
摘要:leetcode-421 数组中两个数的最大异或值 前缀树 1. 题目 给你一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n 。 2. 思路 暴力解法通过双层for循环求出最大的异或结果,时间复杂度为O(n2) 超时 前缀 阅读全文
posted @ 2021-10-16 10:38 流光之中 阅读(27) 评论(0) 推荐(0) 编辑
摘要:leetcode-198 打家劫舍 题目 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 解题思路 本体使用动态规划思想解答,所以需要列出状态转移方程。因该小偷会 阅读全文
posted @ 2021-10-16 10:37 流光之中 阅读(37) 评论(0) 推荐(0) 编辑
摘要:leetcode-225 用队列实现栈 1.题目 使用队列的基本操作实现栈的共,可以使用list或者双端队列deque 2.解题方法 使用vector实现,维持一个top数值代表栈顶元素的index,每次插入、删除元素会导致top元素的变化 使用deque实现时,原理同vector,插入和删除元素都 阅读全文
posted @ 2021-10-16 10:37 流光之中 阅读(27) 评论(0) 推荐(0) 编辑
摘要:leetcode-121 买卖股票的最佳时机 题目: 给定一数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易 阅读全文
posted @ 2021-10-16 10:36 流光之中 阅读(32) 评论(0) 推荐(0) 编辑
摘要:leetcode-111 二叉树的最大(最小深度) 二叉树的最小深度,指的是从根节点到最近叶子节点最短路径的节点数量 二叉树的最大深度,指的是从根节点到最远叶子节点的最长路径的节点数量 解决方法: 使用递归的方法,从叶子节点开始累加, 对于二叉树的最小深度,当一个节点的左子树为空时,最小深度为其右子 阅读全文
posted @ 2021-10-16 10:35 流光之中 阅读(42) 评论(0) 推荐(0) 编辑
摘要:Leetcode-108 将有序数组转换为二叉搜索树 题目 给定一个数组,将其转换为二叉搜索树。 二叉搜索树特点: 父节点元素大于左子节点元素,小于右子节点元素 是一颗平衡二叉树,即每个元素的左右子树高度差的绝对值不超过1 解题思路 一个元素一个元素地插入至二叉搜索树中,每插入一个元素,二叉树需要重 阅读全文
posted @ 2021-10-16 10:34 流光之中 阅读(29) 评论(0) 推荐(0) 编辑
摘要:leetcode-110 平衡二叉树 平衡二叉树特点:在二叉树中,每个节点的左右子树高度只差小于等于1 遍历二叉树中的每个节点 计算每个节点的左右子树高度 class Solution: def isBalanced(self, root: TreeNode) -> bool: if not roo 阅读全文
posted @ 2021-10-16 10:34 流光之中 阅读(22) 评论(0) 推荐(0) 编辑
摘要:leetcode-107 二叉树的层次遍历 1. 二叉树的层次遍历,即通过使用队列的方法(可用数组代替),每次存储某一层的所有节点,然后在一个for循环中遍历该节点,将所有节点的子节点入队,并记录下所有节点的值,将他们堆入栈中。 2. example 根节点入队 cur=[3],res=[[3]] 阅读全文
posted @ 2021-10-16 10:33 流光之中 阅读(24) 评论(0) 推荐(0) 编辑
摘要:leetcode-96 不同的二叉搜索树 解题思路 对于从1-n所有的二叉搜索树,共有n种(每种的顶点相同) 设Fn为从1-i的以n为根的二叉搜索树的个数 dp[n]为1-i的所有的二叉搜索树的个数 对于以i为根的二叉搜索树,它的左子树共有Fn[i-1]种,右子树共有Fn[n-i-1]种,则以i为根 阅读全文
posted @ 2021-10-16 10:32 流光之中 阅读(13) 评论(0) 推荐(0) 编辑
摘要:LeetCode-53 最大子序和 1.暴力求解 ​ 遍历数组。分别求出每个子序列的和,再求最大值。 ​ Time Limit Exceeded class Solution: def maxSubArray(self, nums: List[int]) -> int: max=-float('in 阅读全文
posted @ 2021-10-16 10:31 流光之中 阅读(28) 评论(0) 推荐(0) 编辑
摘要:LeetCode-53 实现strStr() 1. 题目 实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。 说明: 当 needle 是 阅读全文
posted @ 2021-10-16 10:30 流光之中 阅读(29) 评论(0) 推荐(0) 编辑
摘要:机器学习词向量表示 1. 词向量的表示 对于语料库 V=w1,w2,w3,...w|v| one-hot表示: w1=[1,0,0,0,...] w2=[0,1,0,0,...] 优点:解释性强 缺点: 通常词典中词的个数是非常多的,这将导致词向量的维度特 阅读全文
posted @ 2021-10-15 13:46 流光之中 阅读(230) 评论(0) 推荐(0) 编辑
摘要:Vue使用clipboard复制url clipboard是一个轻量级的框架,不依赖flash, 不依赖其他框架,实现了纯JavaScript的浏览器内容复制到系统剪贴板的功能。 1.安装cliboard npm install clipboard --save 2.引入vue项目并注入 impor 阅读全文
posted @ 2021-10-15 13:42 流光之中 阅读(216) 评论(0) 推荐(0) 编辑
摘要:iview下拉框点击事件无效 vue+iview做下拉框点击事件时发现一直无法响应,发现对于dropdownItem是没有这个属性的,因此不能直接使用@click,但是iview提供了一个在父容器上的点击事件。 <Dropdown placement="bottom-start" style="ma 阅读全文
posted @ 2021-10-15 13:42 流光之中 阅读(289) 评论(0) 推荐(0) 编辑
摘要:VUE页面传参 1.通过params/query传参(以params为例) 传递参数 let that=this; this.$router.push({ name: 'blog', params:{ blog:that.blog } }) 注意:这里不能写path,params通过name来引入路 阅读全文
posted @ 2021-10-15 13:41 流光之中 阅读(376) 评论(0) 推荐(0) 编辑
摘要:RNN神经网络-简单的序列预测问题 RNN神经网络能够实现记忆功能,被广泛地应用在时间序列分析上,在NLP、语音识别等方向有许多的应用。 原理: RNN神经网络是一个序列结构,在处理数据时,St的值不仅取决于当前的输入,还取决于上一层的输出,因此其在处理序列数据具有很明显的优势。 计算公式: 阅读全文
posted @ 2021-10-15 13:38 流光之中 阅读(559) 评论(0) 推荐(0) 编辑
摘要:Python中'+='和extend的区别 最近在使用python写代码时,经常会将一些代码包装在函数中,但在函数中使用全局变量中的List时,发现有时候有"Unresolved reference 'xxxxx' "的问题,查询文档后发现是以下问题 首先说一下python传参的问题 python的 阅读全文
posted @ 2021-10-15 13:36 流光之中 阅读(1021) 评论(0) 推荐(0) 编辑
摘要:Python爬虫笔试题 笔试题 1. 写出五种http status code以及其含义。 100-消息 100-Continue,客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。 200-成功 200-OK,请求成功,请求所希望的响应头或数据体将随此 阅读全文
posted @ 2021-10-15 13:35 流光之中 阅读(245) 评论(0) 推荐(0) 编辑
摘要:Tensorflow练习实现线性回归 import matplotlib.pyplot as plt import numpy as np import tensorflow.compat.v1 as tf import pandas as pd rng = np.random # 处理tensor 阅读全文
posted @ 2021-10-15 13:34 流光之中 阅读(38) 评论(0) 推荐(0) 编辑
摘要:linux shell 目录基本操作 pwd:显示当前工作目录 [root@local ~]# pwd /root ls: 显示文件和目录内容 ls -[选项] [目录名] 参数: a:显示所有隐藏文件 l:长格式 i:显示每个文件的索引节点信息 ls -l 显示的信息: [文件/目录许可] [硬链 阅读全文
posted @ 2021-10-15 13:33 流光之中 阅读(392) 评论(0) 推荐(0) 编辑
摘要:Linux Shell基础 shell类型 [root@local ~]# cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash 当前shell类型 [root@local ~]# echo $SHELL /bin/bash [roo 阅读全文
posted @ 2021-10-15 13:32 流光之中 阅读(31) 评论(0) 推荐(0) 编辑
摘要:SpringBoot中AspectJ的使用 AspectJ作为语言级别的AOP框架,功能相比于SpringAOP更加强大。SpringAOP旨在提供给用户一个轻量级的AOP实现方案,它只能应用在SpringIOC容器中管理的bean。而AspectJ旨在提供给用户一个完整的AOP解决方案,它可以应用 阅读全文
posted @ 2021-10-15 13:22 流光之中 阅读(2175) 评论(0) 推荐(0) 编辑
摘要:Java相关基础 1.常用的集合类 collection:->set HashSet, TreeSet, LinkedHashSet :->list ArrayList, LinkList, Stack,Vector :->map HashMap, HashTable, TreeMap 2.map, 阅读全文
posted @ 2021-10-15 13:21 流光之中 阅读(32) 评论(0) 推荐(0) 编辑
摘要:Java多线程 1. 线程与进程 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,即进程空间或(虚空间)。进程不依赖于线程而独立存在,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 ​ 线程是指进程中的一个执行流程,一个进程中可以运行多个 阅读全文
posted @ 2021-10-15 13:21 流光之中 阅读(31) 评论(0) 推荐(0) 编辑
摘要:Object方法 1.toString() 默认返回为包名@改对象的hashCode值,开发中一般重写该方法,返回该对象的字符串表示。 2.equals(Object obj) 判断两个对象是否相等,返回值为true/false 重写equals()必须要重写hashCode(),两个对象相等,ha 阅读全文
posted @ 2021-10-15 13:20 流光之中 阅读(38) 评论(0) 推荐(0) 编辑
摘要:hexo访问优化之 gulp压缩 hexo生成的博客是静态html页面,当有很多静态资源时,加载速度会非常慢,且github服务器在国外,导致网页加载速度非常差 gulp压缩 gulp是一种基于nodejs的构建工具,可以帮助我们压缩代码,图片等,通过减少数据量优化速度 gulp使用 gulp安装 阅读全文
posted @ 2021-10-15 13:09 流光之中 阅读(112) 评论(0) 推荐(0) 编辑
摘要:搭建hexo博客遇到的问题 常用命令 hexo clean 清除hexo缓存 hexo generate 生成文章 hexo deploy 部署 hexo new post name 新建文章名 hexo new page name 新建页面名 hexo clean && hexo generate 阅读全文
posted @ 2021-10-15 13:07 流光之中 阅读(137) 评论(0) 推荐(0) 编辑
摘要:transformers BERT BERT模型主要包括两个部分,encoder和decoder,encoder可以理解为一个加强版的word2vec模型,以下是对于encoder部分的内容 预训练任务 MLM任务 MLM任务通过单词表示来表示上下文关系 NSP任务 NSP任务通过句子向量表示句间的 阅读全文
posted @ 2021-10-15 13:06 流光之中 阅读(141) 评论(0) 推荐(0) 编辑
摘要:Java多线程 1. 线程与进程 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,即进程空间或(虚空间)。进程不依赖于线程而独立存在,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 ​ 线程是指进程中的一个执行流程,一个进程中可以运行多个 阅读全文
posted @ 2021-10-14 22:39 流光之中 阅读(37) 评论(0) 推荐(0) 编辑
摘要:Java GC Python GIL Python 之 collections C++ auto 关键字 for-each 循环 右值及移动构造函数 + stdforward + stdmove + stl 容器新增的 emplace_back() 方法 stdthread 库、stdchrono 阅读全文
posted @ 2021-10-14 20:46 流光之中 阅读(15) 评论(0) 推荐(0) 编辑
摘要:Go 简介 C/C++ 快执行速度 Golang Python/Ruby Go优势 编译型语言,运行速度快,但有动态语言的部分特性,开发效率高 语言层面支持并发 内置Runtime,GC 内嵌C支持,可直接引用C代码 1. hello world package main import ( "fmt 阅读全文
posted @ 2021-10-13 23:01 流光之中 阅读(89) 评论(0) 推荐(0) 编辑
摘要:LeetCode352 将数据流变为多个不相交区间 1 题目 给你一个由非负整数 a1, a2, ..., an 组成的数据流输入,请你将到目前为止看到的数字总结为不相交的区间列表。 实现 SummaryRanges 类: SummaryRanges() 使用一个空数据流初始化对象。 void ad 阅读全文
posted @ 2021-10-09 18:03 流光之中 阅读(66) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
🚀
回顶
收起
🔑
  1. 1 起风了 买辣椒也用券
起风了 - 买辣椒也用券
00:00 / 00:00
An audio error has occurred.