It seems like a huge topic, so just divide it into small pieces and conquer them piece by piece, I have drawn a map for this article to guide me finish it instead of being scared by it. Iterator Conce...
摘要:装饰器模式在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。通过使用装饰器模式,我们可以实现关闭原有代码,开放现有代码的方式来实现更多的功能。 目录 装饰器模式 为什么使用装饰器模式 应用实例 装饰器模式 看到装饰器是在看...
摘要:难点在于多了括号后如何处理正负号。但是每多一个括号,都要记录下这个括号所属的正负号,而每当一个括号结束,我们还要知道出来以后所在的括号所属的正负号。 Basic Calculator I 最新更新请见: https://yanjia.li/zh/2019/01/... Implement a basi...
摘要:博客搬移到这里有个自己的博客还蛮好玩的,有一个有很多属性的类在为它的属性赋值时,通常有两种方式,使用构造函数和使用方法。可是使用构造函数有时会忘了各个字段的顺序,直接使用方法,又比较麻烦。 博客搬移到这里:http://yemengying.com/有个自...
摘要:问题在于如何将问题拆分成多次搜索。然而,乘法如何处理呢这里我们需要用一个变量记录乘法当前累乘的值,直到累乘完了,遇到下一个加号或减号再将其算入计算结果中。这样的计算结果就是。注意第一次搜索不添加运算符,只添加数字,就不会出现这种表达式...
摘要:递归法复杂度时间空间思路根据二叉树的性质,我们知道当遍历到某个根节点时,最近的那个节点要么是在子树里面,要么就是根节点本身。因为我们知道离目标数最接近的数肯定在二叉搜索的路径上。 Closest Binary Search Tree Value I Given a non-empty ...
摘要:第二个是,因为在第个位置,可以有最长为的相同前后缀,依次类推。匹配时分为几种情况字母相同,则和都加,且,因为后缀匹配的长度是前缀的长度加。注意为了方便处理空字符串,我们在反转拼接的时候中间加了,这个字符要保证不会出现在字符串中。 Shor...
摘要:目录命令模式为什么使用命令模式命令模式应用实例命令模式命令模式在软件系统中,行为请求者与行为实现者通常呈现一种紧耦合。下篇更代理模式,侧重下其和委托形式的区别和实际应用。 目录 命令模式 为什么使用命令模式 命令模式应用实例 命令模式 ...
摘要:只有不等于给定数字的数,才会被拷贝到子数组的边界上。代码只拷贝非给定数字的元素交换法复杂度时间空间思路因为题目中并不要求相对顺序保持一致,所以有进一步优化的空间。 Remove Element Given an array and a value, remove all instances of th...
摘要:迭代法复杂度时间空间思路简单的按照杨辉三角形的规则计算就行了。代码加入第一个加入中间的数加入最后一个逆序相加法复杂度时间空间思路同样用迭代的方法,根据上一层的值算下一层,不过这里每一层都在同一个上操作。 Pascal"s Triangle I Given num...
摘要:迭代法复杂度时间空间思路技巧在于,每个数会产生一个。为什么呢试想,前个数中有一个一个,相乘有一个,后个数中有一个,又有一个。以此类推,每个数会有一个。代码阶乘中有多少,结果就有多少个 Factorial Trailing Zeroes Given an integer n, ret...
摘要:先用快指针向前走步,这样快指针就领先慢指针步了,然后快慢指针一起走,当快指针到尽头时,慢指针就是倒数第个。注意因为有可能删除头节点,我们需要一个代码快指针先走步从开始慢指针和快指针一起走删除当前的下一个节点 Remove Nth Node From End o...
摘要:注意因为方法输入的是一个正则表达式所以不能直接用,而是要用,而的要转义,所有要用代码按照进行分割比对相应的子串如果某个版本号更长,判断其多余部分是否是,如果不是,则较长的较大,否则是一样的。 Compare Version Numbers Compare two versi...
摘要:缓冲区中的数据保存直到缓冲区满后才写出,也可以使用方法将缓冲区中的数据强制写出或使用方法关闭流,关闭流之前,缓冲输出流将缓冲区数据一次性写出。实验一共个当设置数组长度为时没有输出,设置时有输出。 >>FileOutPutStream继承OutputStream,...
摘要:最笨的方法就是用的解法,找出所有的,然后再用中判断回文的方法来判断结果中是否有回文。而中心对称点如果是字符,该字符会是奇数次,如果在两个字符之间,则所有字符都是出现偶数次。 Palindrome Permutation Given a string, determine if a permu...
摘要:想象一下假设数组前有一段连续的负无穷到,数组后有一段到正无穷,这样是等价与上下界的。最后循环到停止,当下标为时,我们将当前指针指向,并判断和数组末尾是否能构成最后一个区间。 Missing Ranges Given a sorted integer array where the range...
摘要:假设是第一根柱子及之前涂色的可能性数量,是第二根柱子及之前涂色的可能性数量,则。递推式有了,下面再讨论下情况,所有柱子中第一根涂色的方式有中,第二根涂色的方式则是,因为第二根柱子可以和第一根一样。 Paint Fence There is a fence with n...
摘要:最新思路解法哈希表法复杂度时间空间思路我们遍历字符串时用一个哈希表,但这个哈希表只记录两个东西,一个字母和它上次出现的时的下标,另一个字母和它上次出现时候的下标。这个通过用哈希表记录字母上次出现的下标,来维护一个窗口的方法也可以用于。...
摘要:这样就将一个集合的节点归属到同一个集合号下了。最后如果并查集中只有一个集合,则说明可以构建树。 Graph Valid Tree Given n nodes labeled from 0 to n - 1 and a list of undirected edges (each edge is a pair of nodes), write a function to...
摘要:另一个则是的迭代器,它负责记录当前到哪一个的迭代器了。每次时,我们先调用一下,确保当前的迭代器有下一个值。代码当前列表的迭代器为空,或者当前迭代器中没有下一个值时,需要更新为下一个迭代器 Flatten 2D Vector Implement an iterator to fl...
摘要:记录长度法复杂度时间空间思路本题难点在于如何在合并后的字符串中,区分出原来的每一个子串。这里我采取的编码方式,是将每个子串的长度先赋在前面,然后用一个隔开长度和子串本身。这样我们先读出长度,就知道该读取多少个字符作为子串了。 Encode a...
摘要:所以我们要找的上面,实际上是从目标节点向根节点回溯时,第一个比目标节点大的节点。 Inorder Successor in BST Given a binary search tree and a node in it, find the in-order successor of that node in the BST. Note: If the given node has ....
摘要:不过这里有个小技巧,因为我们只要加,所以不用完全模拟加法的所有规则一个数如果不是,那加以后不会对其他位产生影响。 Plus One Given a non-negative number represented as an array of digits, plus one to the number. The digits are stored s...
摘要:临时数组法复杂度时间空间思路用一个临时数组,存放每次读到字符,再用一个指针标记数组目前存储到的位置,然后将这个临时数组的内容存到相应的位置就行了。 Read N Characters Given Read4 I The API: int read4(char *buf) reads 4 characters at a...
摘要:最新解法及思路哈希表法复杂度时间空间思路整数部分很好处理,只要注意正负号的区分就行了,但是如何处理小数部分呢。这里我们可以用一个哈希表记录每次的余数,如果余数出现重复的时候,说明就产生循环了。 Fraction to Recurring Decimal 最新解法及...
ChatGPT和Sora等AI大模型应用,将AI大模型和算力需求的热度不断带上新的台阶。哪里可以获得...
大模型的训练用4090是不合适的,但推理(inference/serving)用4090不能说合适,...
图示为GPU性能排行榜,我们可以看到所有GPU的原始相关性能图表。同时根据训练、推理能力由高到低做了...