自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(480)
  • 收藏
  • 关注

原创 leetcode 921. Minimum Add to Make Parentheses Valid(python)

上面的解法理解起来比较麻烦,可以直接使用栈来存储遍历到的每个元素,只有当栈的最后一个元素为 ( 且当前的元素为 ) 才执行栈的弹出功能,否则将当前元素加入栈中,最后栈中存储的都是不合法的括号,即需要进行的最少的操作次数。其实这个题思路比较简单,考察的就是栈的使用,只要找出不合法的圆括号有几个,那就至少需要进行多少次操作。根据题意,就是给出了一个左右圆括号组成的字符串,让我们判断这个字符串是否是合法的,并且在不合法的时候至少通过操作变成合法的需要次操作。您的支持是我最大的动力。

2024-03-27 16:46:41 327

原创 leetcode 938. Range Sum of BST(python)

根据题意,就是给出了一颗二叉树,和一个范围 [low, high] ,让我们求在这个范围内的节点的值的和是多少,思路比较简单,就是用递归的思想,判断每个节点的值如果在 [low, high] 中就累加起来,否则不去管他,最后递归的结果就是答案。上面的解法直接通过递归遍历了所有的节点,其实我们可以根据二叉树左子树小于根结点,右子树大雨根结点来减少计算量。原题链接:https://leetcode.com/problems/range-sum-of-bst/同样的思路,不同的写法。您的支持是我最大的动力。

2024-03-27 16:45:42 293

原创 leetcode 979. Distribute Coins in Binary Tree(python)

这是一个二叉树的平衡问题,最终的操作次数就是左子树和右子树的不平衡总和,以例子 3 为例,左子树的不平衡状态为 1 ,相当于缺一个金币,需要从 root 拿一个金币,右子树的不平衡状态为 1 ,相当于多出来一个金币需要往 root 上交一个,所以总的操作次数就是左右子树各自不平衡金币个数绝对值之和。我们使用 result 来计数总共的操作次数,每次返回的不平衡结果=当前的金币+左子树不平衡的金币绝对值+右子树不平衡的金币绝对值-1。您的支持是我最大的动力。

2024-03-26 18:17:39 272

原创 微调 GPT-2 完成文本生成任务

我们使用kears_nlp中原生的GPT-2模型(),首先是指定我们的PROMPT是,也就是让 GPT-2 从这里开始文本生成,调用方式很简单,生成200 个token 耗时22.81 s,速度大约。另外我想尝试下中文的文本生成效果,但是找到了官方的kears_nlp可以调用的GPT-2全部都是英文数据训练出来的,我不太死心,还是想试试,所以调用,我也将PROMPT改成了我爱中国!,生成的结果简直就是乱七八糟,狗屁不通,自己把自己卡死掉了。

2024-03-26 18:16:56 558

原创 leetcode 980. Unique Paths III(python)

原题链接:https://leetcode.com/problems/unique-paths-iii/题目要求我们要从开始位置走,到结束位置停下来,有多少种不同的走法可以将所有的空位置都经过一次。

2024-03-21 18:04:53 822

原创 leetcode 1008. Construct Binary Search Tree from Preorder Traversal(python)

前序遍历有一个明显的特点,第一个出现的元素肯定是属于根节点,从第二个元素开始后面的元素肯定是属于左右子树的,而左子树都比根节点小,右子树都比右子树大,前序遍历会先遍历完左子树再遍历右子树,所以从第二个元素开始往后找出大于根节点的元素索引 i ,这就是右子树的根节点 ,左子树的元素则在 preorder[1:i] 列表中,右子树的元素则在 preorder[i:] 列表中,递归执行这个过程得到的树即为结果。根据题意,就是给出了一个二叉树的前序遍历结果,然后要求根据前序遍历构造一棵树,并且返回树的根节点。

2024-03-21 18:04:20 900

原创 leetcode 1110. Delete Nodes And Return Forest(python)

递归函数的操作是比较繁琐的,因为假如当前节点是需要被删除的,那么需要将其形成的左右非空两个子树加入到结果列表中,并且要将当前节点置空。这里的节点置空操作是需要注意的,因为结点置空不是直接 root=None , 而是需要将其父节点的 left 引用或者 right 引用置空才对。根据题意,就是给出了一个二叉树,并且给出了一个需要删除的节点值列表 to_delete ,题目要求我们将节点值出现在 to_delete 中的节点都删去,并且将删除之后形成的多个森林的引用都放入列表中。您的支持是我最大的动力。

2024-03-20 17:26:06 314

原创 leetcode 1114. Print in Order(python)

题中要保证 second() 在 first() 之后执行,third() 在 second() 之后执行,所以需要两把锁,第一把锁控制 second() 在 first() 之后执行 ,第二把锁控制 third() 在 second() 之后执行。根据题意,就是要在给定 nums 顺序的情况下,保证 second() 在 first() 之后执行,third() 在 second() 之后执行,其实就是在考 python 线程的知识点,关键是获取锁和释放锁。您的支持是我最大的动力。

2024-03-20 17:25:36 361

原创 leetcode 1123. Lowest Common Ancestor of Deepest Leaves(python)

另外可以换一种比较朴素的思路,先使用 DFS 遍历一次二叉树,找出树中叶子节点的最大深度以及最大深度的所有叶子结点的个数,然后再用另一个 DFS 遍历二叉树,如果第一次出现以某个节点为根节点的子树包含了所有的最深叶子节点,那么它就是答案。根据题意,就是给出了一个二叉树的根节点引用 root ,让我们找出最低的共同祖先节点(lowest common ancestor)。所以使用递归思想,定义递归函数 dfs ,每次调用 dfs 返回当前深度的最低的共同祖先节点引用以及当前的深度。您的支持是我最大的动力。

2024-03-19 10:52:32 804

原创 使用 Keras 的 Stable Diffusion 实现高性能文生图

在本文中,我们将使用基于 KerasCV 实现的模型进行图像生成,这是由stable.ai开发的文本生成图像的多模态模型。是一种功能强大的开源的文本到图像生成模型。虽然市场上存在多种开源实现可以让用户根据文本提示轻松创建图像,但 KerasCV 有一些独特的优势来加速图片生成,其中包括XLA 编译和混合精度支持等特性。所以本文除了介绍如何使用 KerasCV 内置的模块来生成图像,另外我们还通过对比展示了使用 KerasCV 特性所带来的图片加速优势。

2024-03-19 10:50:45 1030

原创 leetcode 1219. Path with Maximum Gold(python)

根据题意,就是给出了一个金矿的矩阵 grid ,大小为 m*n ,每个位置 grid[i][j] 都有一个数字代表金子数量,你现在是一个掘金者,可以从金矿矩阵的任意一个位置出发,然后向上下左右四个方向都能行进,但是不能访问金子数为 0 ,同时不能走走过的位置,求能得到的金子数最多数量。真很明显就是一个 DFS 问题,只要注意不会触发边界禁止条件就可以,以所有位置为起点得到能获得的金子的最大数量,即为 dp ,然后从 dp 中找出最大的数字,即为答案。您的支持是我最大的动力。

2024-03-13 16:10:50 227

原创 leetcode 1282. Group the People Given the Group Size They Belong To(python)

然后又给了一个整数列表 groupSizes ,其中 groupSizes[i] 表示的是索引为 i 的人所在组的大小。例如,如果 groupSizes[1] = 3,则索引为 1 的人必须在大小为 3 的组中。根据题意,有 n 个人被分成不知数量的几个组,每个人的唯一 ID 标记就是索引 0 到 n-1 ,每个人都应该恰好出现在一个组中,并且每个人都必须在一个组中。要求返回一个满足题意的列表,如果有多个答案,则返回其中任何一个。遍历最后得到的 result 就是答案。您的支持是我最大的动力。

2024-03-13 16:04:11 410

原创 leetcode 1325. Delete Leaves With a Given Value(python)

根据题意,就是给出了一个二叉树,让我们删除值为 target 的叶子结点,注意,在删除叶子结点之后可能父节点也称为了叶子结点,如果值为 target 也应该删除,不断重复此类操作直到不能进行下去,返回新树的索引。原题链接:https://leetcode.com/problems/delete-leaves-with-a-given-value/原题链接:https://leetcode.com/problems/delete-leaves-with-a-given-value/您的支持是我最大的动力。

2024-03-12 10:08:05 220

原创 leetcode 1343. Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold(python)

其实主要的耗时操作都在取自列表、求和、除法这三个关键的步骤上面,我们通过使用滑动窗口,来缩短计算时间,也就是每次只计算长度为 k 的窗口大小的和记录为 total ,向右滑动一个元素,计算新的窗口的和就是减去之前窗口的第一个元素且加上新进入窗口的最后一个元素,这样就可以大幅度减少求和的运算。您的支持是我最大的动力。

2024-03-12 09:23:43 329

原创 leetcode 1379. Find a Corresponding Node of a Binary Tree in a Clone of That Tree(python)

原题链接:https://leetcode.com/problems/find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree/当 cloned 根结点的值和 target 节点的值一样的时候,返回 clone ,否则使用递归遍历当前节点的左右两个子树。直接使用栈 stack ,保存所有的节点,然后判断当前节点的值是否和 target 相同,如果相同返回当前节点的引用。您的支持是我最大的动力。

2024-03-11 09:44:04 263

原创 直观感受卷积 VAE 模型的潜在分布空间

本文展示了在MNIST数据集上训练。VAE是自动编码器的概率模型,它会将高维输入数据压缩为维度较小的表示形式,但是实现方式与将输入映射到潜在向量的传统自动编码器不同,VAE,最经典的方式莫过于高斯分布的均值和方差。这种方法会产生一个连续的、结构化的潜在空间,这对于图像生成的多样化很有用。

2024-03-11 09:42:59 957

原创 leetcode 1381. Design a Stack With Increment Operation(python)

根据题意,就是要求自己设计一个栈相关的操作,每个方法都规定了输入、操作方法和输出,思路比较简单:通过列表及其相关的内置函数完成相关的操作即可,只要懂得了栈的概念,实现起来比较简单。原题链接:https://leetcode.com/problems/design-a-stack-with-increment-operation/您的支持是我最大的动力。

2024-03-07 15:24:22 298

原创 leetcode 1415. The k-th Lexicographical String of All Happy Strings of Length n(python)

s[i+1] ,最后将组成的所有的符合题意的字符串按照字典顺序进行排序,返回索引为 k-1 的元素,如果没有该元素则直接返回空字符串。因为第一次已经初始化了 l ,所以只需要循环 n-1 次,在每次循环过程中,将之前的所有 l 中的元素都取出来,这些元素每一个都可以经过在末尾添加不同的其他两个字符形成新的俩个字符串,规律如下琐事,将这些形成的新字符串都添加到 l ,进行下一次的循环。循环结束之后,得到的 l 中的元素已经是有顺序的,直接返回 l[k-1] 即可。您的支持是我最大的动力。

2024-03-07 15:23:04 221

原创 leetcode 1448. Count Good Nodes in Binary Tree(python)

根据题意,就是给出了一个二叉树 root ,找出这棵树中间有多少个节点是 good 的,题目中对“ good 节点”的定义为该节点到根结点的路径上的节点的值都小于等于该节点。思路比较简单,直接用 DFS ,在递归的时候传入当前路径中的最大值,然后和当前值进行比较,如果符合题意,则结果 result 加一,递归结束的 result 即为答案。原题链接:https://leetcode.com/problems/count-good-nodes-in-binary-tree/您的支持是我最大的动力。

2024-03-06 14:29:18 191

原创 leetcode 1472. Design Browser History(python)

根据题意,就是让我们实现一下页面的浏览,前进,后退等操作,具体的定义题目中都已经给出来了,其实就是考察的栈的压栈和弹出的基本操作,只不过结合了实际的业务场景,用栈来操作具体的页面顺序,原题链接:https://leetcode.com/problems/design-browser-history/您的支持是我最大的动力。

2024-03-05 16:41:45 270

原创 leetcode 1529. Bulb Switcher IV(python)

根据题意,就是房间里面有一排从左到右排列的灯泡的开关,开关只有开和关两种状态,用 1 和 0 表示,这排开关的索引为 0 到 n-1。我们可以进行一种操作,这种操作要求将索引 i 到 n-1 的灯泡都要按一次。题目给出了一个开关的排列目标 target ,求经过多少次这种操作就可以让开关形成 target 的样式。原题链接:https://leetcode.com/problems/bulb-switcher-iv/您的支持是我最大的动力。

2024-03-05 16:41:14 406

原创 leetcode 1551. Minimum Operations to Make Array Equal(python)

根据题意,就是给出了一个整数 n ,构造列表 arr ,索引 i 位置上的整数为 arr[i] = (2 * i) + 1 ,然后执行一种操作,每次取不同的两个索引 x 和 y ,对 arr[x] 的值减一,对 arr[y] 的值加一,求一共执行多少次操作,能得到一个元素都相等的 arr。当 n = 6 ,arr=[1,3,5,7,9,11] ,执行操作过程如下,得到 [6,6,6,6,6,6] ,直接返回 9。当 n = 1 ,arr=[1] ,因为元素都相等,所以不需要操作,直接返回 0。

2024-03-04 14:32:03 454

原创 有了阿里最新的 EMO 大模型,我让那英循环唱《冲动的惩罚》一百遍!

阿里终于整活了,刚刚阿里发布了一个大模型的展示页面,提出了一个名叫的大模型,一种富有表现力的音频驱动的基于人物肖像生成视频的框架。具体来讲就是,输入单个参考人物肖像图像和语音(例如讲话或者唱歌等),可以生成具有丰富的面部表情和各种头部姿势的声音头像视频,同时可以根据输入视频的长度生成任意持续时间的视频。如下示意图。只需要一张人物肖像照片,包括:现实照片、动漫照片、AI 生成的照片等等只需要一段音频,包括:演讲、唱歌、讲话等等生成符合音频内容的丰富的面部表情生成任意时长的视频。

2024-03-04 14:31:23 1178

原创 leetcode 1566. Detect Pattern of Length M Repeated K or More Times(python)

根据题意,就是给出了一个整数数组 arr ,判断是否有长度为 m 的模式连着重复至少 k 次。这里看英文题目描述可能不是很清晰,但是看了例子就基本知道了,主要记住这 k 个模式不要断开,但也不能互相交叉覆盖。原题链接:https://leetcode.com/problems/detect-pattern-of-length-m-repeated-k-or-more-times/您的支持是我最大的动力。

2024-02-29 16:05:11 399

原创 leetcode 1646. Get Maximum in Generated Array(python)

另外,可以用递归的方式解决。递归的出口就是当 n<=1 的时候返回结果,否则就将 n//2 得到索引位置 p ,当 n 为奇数则求 cal§+cal(p+1) ,当 n 为偶数则求 cal§ ,函数递归结束可得到结果。每个元素通过递归结束得到的结果组成的列表,再通过 max 函数求最大值。原题链接:https://leetcode.com/problems/get-maximum-in-generated-array/根据题意,就是给出一个数字 n ,生成一个 n+1 个数字的列表,找出最大值。

2024-02-29 16:04:35 362

原创 leetcode 1668. Maximum Repeating Substring(python)

基本的思想和上面的类似,就是计算出 word 可能存在于 sequence 的最大的次数,然后遍历 [1,count] 中的每个元素 n ,使用 find 函数查找 word*n 是否存在于 sequence ,如果存在则结果加一,否则直接返回 result。思路比较简单,就是先计算 word 可以连续拼接的最大次数 n ,然后将 word 拼接 n 次之后判断是否存在于 sequence 中,如果不存在那就判断 n-1 是否存在于 sequence 中,以此类推,如果都没有,那就直接返 0 即可。

2024-02-28 09:21:24 240

原创 leetcode 1721. Swapping Nodes in a Linked List(python)

根据题意,就是给出了一个链表,并且给出了一个数字,要求我们用将链表的正向第 k 个值和逆向的第 k 个值进行交换,最后返回新的链表的头节点 head。原题链接:https://leetcode.com/problems/swapping-nodes-in-a-linked-list/您的支持是我最大的动力。

2024-02-28 09:20:53 338

原创 leetcode 1752. Check if Array Is Sorted and Rotated(python)

根据题意,就是将 nums 从某个位置截断后,然后将两部分前后互换再拼接起来,是否得到一个非降序的列表,也就是升序或者全相等列表。思路比较简单,就是将 nums 先进行升序排序为 tmp ,然后判断 tmp 和 nums 是否相等,如果相等则返回 True ,如果不相等,则遍历 nums ,判断 nums[i:] + nums[:i] 和 tmp 是否相等,如果相等则返回 True ,如果不相等则最后返回 False。您的支持是我最大的动力。

2024-02-27 14:07:19 348

原创 leetcode 1806. Minimum Number of Operations to Reinitialize a Permutation(python)

根据题意,就是给出了一个偶数 n ,最初可以形成一个列表 perm ,以 0 为索引每个元素为 perm[i] == i​ , 我们进行一种特殊的操作,求至少做多少次这种操作,可以让 perm 又重新变回 perm。按照题意,思路比较简单,就是直接按照这种操作,不断进行,并使用计数器 count 计数,当 perm 重新变回 perm 时,返回 count 即可。另外,可以使用递归来解决 perm 的不断变化。您的支持是我最大的动力。

2024-02-27 14:06:49 380

原创 leetcode 1828. Queries on Number of Points Inside a Circle(python)

根据题意,就是给出一个点列表 points ,然后又给出一组圆列表,每个圆元素有三个值,前两个是表示中心点为位置,第三个表示的是圆半径,计算每个每个圆可以囊括 points 中的点的个数,并且按照圆出现的顺序,在列表中显示每个圆能囊括的点的个数,其中点如果刚好在边上也算有效点。原题链接:https://leetcode.com/problems/queries-on-number-of-points-inside-a-circle/您的支持是我最大的动力。您的支持是我最大的动力。

2024-02-26 14:22:27 675

原创 Stable Diffusion 3 强势来袭,从此将文字绘画出来不是难题!

Stability AI 刚发布 Stable Diffusion 3 模型进行公测。该模型采用 diffusion transformer 架构,显著提高了在多主题提示、图像质量和拼写能力方面的性能。

2024-02-26 14:21:35 860

原创 leetcode 1869. Longer Contiguous Segments of Ones than Zeros(python)

根据题意,如果 s 中最长的 1 字符串的长度大于最长的 0 字符串,返回 true ,否则返回 false。思路比较简单, s.split(“0”) 可以得到分割出来的包含 1 的字符串列表,s.split(“1”) 可以得到分割出来的包含 0 的字符串,将两者排序找出各自最大的长度的字符串,判断最长的 1 字符串的长度是否大于最长的 0 字符串的长度。您的支持是我最大的动力。

2024-02-23 10:27:57 279

原创 卷爆 Sora ,Stable Video Diffusion 免费开放!

Sora 虽然是造势很大,但是个人猜测想要公开使用大概率是卡在了算力方面,所以迟迟没有动静,网上申请了红客应用的人们也没有收到邀请内测,奥特曼也在靠几个 demo 想拉 7 万亿美元的投资实属有点异想天开了,种种不正常的表现引人遐想。而就在这个是时候 Stability.ai 最新发布了 stable video 的官网,作为一款正式公布的免费文生视频或者图生视频的工具,效果也是相当惊艳。文生视频图生视频不仅如此,还有一些控制相机运动的选项,如下图视频的风格也可以选择,如下图综上有如下特点。

2024-02-23 09:20:31 569

原创 leetcode 1876. Substrings of Size Three with Distinct Characters(python)

因为是在字符串 s 中,找出长度为 3 的没有重复字符的子字符串个数。所以长度为 3 的子字符串可以两两字符进行比较,速度比用内置函数更快一点,如果 3 个字符户部巷等结果计数加 1 ,遍历结束即可得到结果。根据题意,就是在字符串 s 中,找出长度为 3 的没有重复字符的子字符串个数。只需要遍历 s ,每 3 个字符的集合长度为 3 结果计数加 1 ,遍历结束即可得到结果。运行结果表明速度确实更快,但是消耗内存更多,说明上面的内置函数 set 在内存优化方面做了工作。您的支持是我最大的动力。

2024-02-22 15:42:24 296

原创 leetcode 1877. Minimize Maximum Pair Sum in Array(python)

根据题意,给出一个偶数长度的整数列表 nums ,将里面的元素两两组和成一对,每个元素只能属于一个对,使得所有对的和的最大值最小,问这个最小值是多少。原题链接:https://leetcode.com/problems/minimize-maximum-pair-sum-in-array/您的支持是我最大的动力。

2024-02-22 15:41:39 317

原创 leetcode 55. Jump Game(python)

其实我们细想一下这道题的规律就会发现比较清晰,当我们在某个索引位置 i 的位置上,只要 i + nums[i] 的结果大于等于最后一个索引 len(nums) - 1 即可直接返回 True ,表示我们在 i 索引位置上可以直接达到数组的最后位置上。通过读题,和观察题目对于 nums 的条件限制,我们发现 nums 的最长长度为 10^4 ,切每个元素的最大值为 10^5 ,所以这肯定不能使用常规的递归或者暴力,我们对于这种有规律的大数据量的题目,一般使用贪心即可。您的支持是我最大的动力。

2024-02-21 20:26:45 354

原创 通俗易懂讲解 Sora 工作原理

这位大佬用通俗易懂的方式,逐步拆解Sora工作原理,浅显易懂,推荐看看!本文为转载文章,原文请看链接。

2024-02-21 20:25:22 1070

原创 leetcode 1893. Check if All the Integers in a Range Are Covered(python)

根据题意,就是给出一个列表 ranges ,里面都是一个个范围,判断 [left, right] 中的每个数字至少都被一个 range 所包含,如果 [left, right] 中的每个数字都至少被一个范围覆盖直接返回 True , 否则返回 False。另外可以将 ranges 表示的范围中的数字都放入一个集合 a 中,将 [left,right] 中的数字放入一个集合 b 中,然后求两个集合中间的交集是否等于 b ,如果等于直接返回 True ,否则返回 False。您的支持是我最大的动力。

2024-02-20 18:29:45 313

原创 leetcode 1903. Largest Odd Number in String(python)

思路很简单,因为判断奇数,只需要判断最后一个字符串表示的数字是否是奇数即可,所以只需要从后向前遍历 num 中的字符,如果索引 i 上的数字为奇数,则直接返回 num[:i+1] ,遍历结束如果没有找到直接返回空字符串。根据题意,其实上面判断的就是最后一个数字是不是奇数,可以换一种思路,就是只要让字符串的最后一个数字成为奇数就可以了,代码实现起来就是直接使用 python 的内置函数 num.rstrip 将最右边的偶数字符都去掉即可。您的支持是我最大的动力。

2024-02-20 18:29:12 300

原创 leetcode 1909. Remove One Element to Make the Array Strictly Increasing(python)

思路比较简单,就是去掉 nums 中的 i 个元素得到列表 tmp ,然后遍历 tmp ,当后一个元素大于前一个元素的时候,则使用计数器 conut 加一,如果遍历结束计数器的个数等于 tmp 的长度减一,则说明去掉该元素剩下的 tmp 是升序列,直接返回 True。根据题意,就是随意去除 nums 中的某一个元素之后,如果 nums 可以变成一个升序列,直接返回 True ,如果 nums 删除任意一个元素之后,都不能变成一个升序列,则返回 False。您的支持是我最大的动力。

2024-02-19 09:07:17 169

空空如也

空空如也

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

TA关注的人

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