算法是程序的灵魂
文章平均质量分 79
算法是程序的灵魂
长安初雪
明日复明日,明日何其多?我生待明日,万事成蹉跎.
展开
-
力扣: 翻转字符串里的单词
给你一个字符串 s ,请你反转字符串中 单词 的顺序。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。原创 2024-09-13 10:48:39 · 533 阅读 · 0 评论 -
力扣: 反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。原创 2024-09-12 10:10:34 · 206 阅读 · 0 评论 -
力扣: 赎金信
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次原创 2024-09-11 09:22:48 · 508 阅读 · 0 评论 -
力扣: 四数相加II
给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:0原创 2024-09-10 09:13:06 · 635 阅读 · 0 评论 -
力扣: 快乐数
编写一个算法来判断一个数 n 是不是快乐数。原创 2024-09-09 09:10:46 · 500 阅读 · 0 评论 -
力扣第一题:两数之和
我们可以一边遍历数组, 一边将每个值与 target 做运算. 比如 target 是7, 数组中的第一个元素是 3 , 那么就可以将 target - 3 的值存进到 Map 里去, key 是 target-3, value是当前数组的下标.以上 是我对这道算法的一些遐想和延伸, 可能不是最优解, 但是算法的优化嘛 本身就是一个思索的过程, 能在这个思索和迭代的过程中有所收获和乐趣就是在成长了, 欢迎大家一起来交流更多的解答…输入:nums = [2,7,11,15], target = 9。原创 2024-09-06 09:22:51 · 395 阅读 · 0 评论 -
力扣: 两个数组的交集
给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。原创 2024-09-05 09:48:37 · 544 阅读 · 0 评论 -
力扣: 有效的字母异位词
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。字母异位词 是通过重新排列不同单词或短语的字母而形成的单词或短语,通常只使用所有原始字母一次。原创 2024-09-04 10:12:39 · 484 阅读 · 0 评论 -
力扣: 回文链表
给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。原创 2024-09-03 09:38:22 · 530 阅读 · 1 评论 -
力扣: 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。原创 2024-09-02 10:36:15 · 620 阅读 · 0 评论 -
力扣:删除链表中的节点
有一个单链表的 head,我们想删除它其中的一个节点 node。给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。链表的所有值都是 唯一的,并且保证给定的节点 node 不是链表中的最后一个节点。原创 2024-08-30 10:38:53 · 690 阅读 · 0 评论 -
力扣: 环形链表2
给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。原创 2024-08-30 10:10:56 · 886 阅读 · 0 评论 -
力扣: 环形链表
给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 false 。原创 2024-08-29 14:19:07 · 650 阅读 · 0 评论 -
力扣: 链表相交
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。原创 2024-08-28 10:14:32 · 876 阅读 · 0 评论 -
力扣: 删除链表的倒数第N个元素
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。原创 2024-08-27 09:53:02 · 500 阅读 · 0 评论 -
力扣: 两两交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。原创 2024-08-26 13:00:05 · 708 阅读 · 0 评论 -
力扣: 反转链表
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。原创 2024-08-25 10:53:08 · 640 阅读 · 0 评论 -
力扣: 设计链表
单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。原创 2024-08-24 11:50:39 · 1189 阅读 · 0 评论 -
力扣: 移除链表元素
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。原创 2024-08-23 11:24:03 · 700 阅读 · 0 评论 -
力扣:有效的数独
请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。原创 2024-08-22 13:53:37 · 1090 阅读 · 0 评论 -
力扣: 两数之和 梦开始的地方
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。原创 2024-08-21 11:04:06 · 519 阅读 · 0 评论 -
力扣:移动零
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。原创 2024-08-20 15:02:20 · 550 阅读 · 0 评论 -
力扣:加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。原创 2024-08-19 10:48:53 · 568 阅读 · 0 评论 -
力扣:两个数组的交集 II
给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。原创 2024-08-15 14:00:29 · 982 阅读 · 0 评论 -
力扣:只出现一次的数字
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。原创 2024-08-14 09:52:07 · 456 阅读 · 0 评论 -
力扣:存在重复元素
给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。原创 2024-08-13 10:13:03 · 415 阅读 · 0 评论 -
力扣:旋转数组
给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。原创 2024-08-12 10:52:17 · 455 阅读 · 0 评论 -
删除排序数组中的重复项
给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。原创 2024-08-11 10:22:12 · 723 阅读 · 0 评论 -
209.长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。原创 2024-08-10 18:52:38 · 536 阅读 · 0 评论 -
977.有序数组的平方和
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。原创 2024-08-09 14:44:50 · 676 阅读 · 0 评论 -
27.移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。原创 2024-08-08 11:49:03 · 850 阅读 · 0 评论 -
704.二分查找
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。原创 2024-08-07 11:30:36 · 1161 阅读 · 2 评论