摘要:排序法复杂度时间空间思路这题和很像,我们按开始时间把这些都给排序后,就挨个检查是否有冲突就行了。有冲突的定义是开始时间小于之前最晚的结束时间。这里之前最晚的结束时间不一定是上一个的结束时间,所以我们更新的时候要取最大值。 Meeting Room...
摘要:为了尽量保证右边的点向左走,左边的点向右走,那我们就应该去这些点中间的点作为交点。由于是曼哈顿距离,我们可以分开计算横坐标和纵坐标,结果是一样的。 Best Meeting Point A group of two or more people wants to meet and minimize the total...
摘要:批量在模式的讲解中,说到模式是一种支持异步计算并可以返回计算结果,并在返回结果前可以阻塞调用者的线程对象模型。批量模式是在对模式的扩展。 批量 FutureTask 在Future模式的讲解中,说到future模式是一种支持异步计算并可以返回计算结果,并在返...
摘要:字节码生成把语法树定义的抽象的语法结构按照二进制字节码的规则排布成字节码,最终我们可以看到满足虚拟机运行要求的二进制字节码被转换出来。上面的过程完成后,命令扮演的编译器就将源代码转成了结构化的二进制字节码。 这篇文章的素材来自周志明的...
摘要:然而,这两个方法都只是读取对象状态,如果只是读取操作,就可以允许线程并行,这样读取效率将会提高。分配线程执行子任务执行子任务获得子任务进行完成的结果 Lock Lock接口主要操作类是ReentrantLock,可以起到synchronized的作用,另外也提供额外的...
摘要:每次搜索中,我们通过哈希表维护一个窗口,比如中,我们先拿出。如果都不在数组中,那说明根本不能拼进去,则哈希表全部清零,从下一个词开始重新匹配。 Substring with Concatenation of All Words You are given a string, s, and a list of words,...
摘要:进制复杂度时间空间思路得到数字,其实就是把进制的数转换为进制的数。算法就是基本的进制转换方法,从后往前第位的值乘上。不过因为是,而不是,相当于进制的数都整体减,才能对应上从开始的十进制数。 Excel Sheet Column Number Related to questi...
摘要:位操作法复杂度时间空间思路我们设想,本来应该的得到余,那么如果我们把忽略余数后分解一下,,也就是,也就是把商分解为,所以商的二进制是。我们可以不断的将乘的一次方,二次方,等等,直到找到最大那个次方,在这里是的四次方。 Divide Two Integ...
摘要:这样,我们可以保证队列里的元素是从头到尾降序的,由于队列里只有窗口内的数,所以他们其实就是窗口内第一大,第二大,第三大的数。 Sliding Window Maximum Given an array nums, there is a sliding window of size k which is moving from the ve...
摘要:动态规划复杂度时间空间思路直到房子,其最小的涂色开销是直到房子的最小涂色开销,加上房子本身的涂色开销。我们在原数组上修改,可以做到不用空间。代码找出最小和次小的,最小的要记录下标,方便下一轮判断 Paint House There are a row of n hous...
摘要:虚拟机执行程序的基础是特定的二进制指令集和运行时栈帧二进制指令集是虚拟机规定的一些指令,在编译后二进制字节码的类方法里的字节码就是这种指令,所以只要找到方法区里的类方法就可以依照这套指令集去执行命令。 这篇文章的素材来自周志明的《深入...
摘要:代码双指针法复杂度时间空间思路从后往前看字符串,跳过所有空格后,记下该结束位置,再到下一个空格,再记录一个开始位置,则长度就是结束位置减去开始位置。 Length of Last Word Given a string s consists of upper/lower-case alphabets and emp...
摘要:如果继续降序,说明又向左走了,这样等到下次向右走得时候也要再次更新最小值。这样,序列无效的条件就是违反了这个最小值的限定。我们同样可以用本题的方法解,不过是从数组的后面向前面遍历,因为在后面了。栈的增长方向也是从高向低了。 Verify Pre...
摘要:如果那个对象在的某个远端服务器上直接操作这个对象因为网络速度原因可能比较慢那我们可以先用来代替那个对象。这种在运行期直接通过虚拟机加入二进制字节码的方法是实现动态代理的手段 代理的目的到底是什么呢?字面意思上就可以解释:代理就是代人...
摘要:作为一个解决方案的开发者,我花费大量的时间了解的查看器和插件。正如这个名字所暗示的一样,这个插件提供的提示能够让我们写出高质量的代码,并且指出任何潜在的问题。是一个扫描源代码,并能够寻找超过种潜在问题的代码分析器。 作为一个IDR解决方...
摘要:是什么是面向切面编程的简称。负责实施切面,它将切面所定义的横切逻辑织入到切面所指定的连接点钟。静态正则表达式匹配切面是正则表达式方法匹配的切面实现类。流程切面的流程切面由和实现。 aop是什么 aop是面向切面编程(aspect oriented programing...
摘要:问题在使用管理层事务时,会遇到方法事务嵌套的问题。如果当前存在事务,则在嵌套事务内执行。事务传递机制,有这样一个机制。所以在配置中添加的配置然后所有的事务都自动使用嵌套事务了,也不需要修改任何的代码和配置,可以在方法上去掉这段。 问题...
摘要:上图中的在原型继承称作构造器。构造器就是一个普通的函数,但是将操作符用到构造器上时,它会执行一个叫的过程。从第条可以看到,构造器生成的对象的属性会指向构造器的值,这就是我们构造原型链的关键。 基于类的继承是大多数人所熟悉的,也是比较容...
摘要:配置切面编程方式实现说结账说要点什么注解表示前置增强后面的切点表达式表示在目标类的方法织入增强,方法可以带任意的传入参数和任意的返回值。类相当于上一篇中的增强切点,切面三者联合表达的信息。 @AspectJ配置切面 编程方式实现 public class W...
摘要:三指针法复杂度时间空间思路基本的操作链表,见注释。注意使用头节点方便操作头节点。翻转后,开头节点就成了最后一个节点。 Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2...
摘要:而对于右括号,必须前面放了一个左括号,我们才能放一个右括号。所以我们根据剩余可放置左括号,和剩余可放置右括号,代入递归,就可以求解。 Generate Parentheses 最新更新请见:https://yanjia.me/zh/2019/01/... Given n pairs of parentheses, w...
摘要:动态规划复杂度时间空间递归栈思路骑士向右或者向下走,如果血量小于就死掉了,这会使得计算变得很复杂。假设表示点和的血量,表示走到和要扣除的血量。最右下角那个节点没有待逆推的节点,所以我们假设其逆推节点的血量为。 Dungeon Game The demons...
摘要:脑筋急转弯复杂度时间空间思路这题往小说可以追溯到小学奥数或者脑筋急转弯的书中,往大说可以深究到博弈论。代码如果一开始就是的倍数,你就输了,因为对方可以用同样的策略 Nim Game You are playing the following Nim Game with your friend: The...
摘要:能够让的周期利用的更充分对于多线程应用运行在多处理器和多核系统上至很有挑战性的。另外,当达到饱和状态的时候并不能说明的性能和伸缩性已经达到了最佳的状态。磁盘如果应用有对磁盘进行操作,我们需要对磁盘进行监控,来监测可能出现的磁盘性能问题...
摘要:统计字母频率复杂度时间空间思路用一个位的数组统计字符串中每一个字符出现的次数,然后同理,维护一个长度为长度的窗口,来统计这个窗口里母串各个字符出现的次数,计入一个数组中。比较这两个数组是否相同就知道是否是变形词子串了。 Anagram Substr...
ChatGPT和Sora等AI大模型应用,将AI大模型和算力需求的热度不断带上新的台阶。哪里可以获得...
大模型的训练用4090是不合适的,但推理(inference/serving)用4090不能说合适,...
图示为GPU性能排行榜,我们可以看到所有GPU的原始相关性能图表。同时根据训练、推理能力由高到低做了...