原题回顾:在4x4方格表中选四个方格,要求每行每列恰有一个方格被选中,问四个数字之和的最大值。 | 11 | 21 | 31 | 40 | | 12 | 22 | 33 | 42 | | 13 | 22 | 33 | 43 | | 15 | 24 | 34 | 44 | Solution 1 暴力枚 ...
目录 力扣232. 用栈实现队列 力扣225. 用队列实现栈 力扣20. 有效的括号 力扣1047. 删除字符串中的所有相邻重复项 一、用栈实现队列 主要思路:我们使用两个栈来实现一个队列的功能:其中一个作为输入栈,用于接收通过 push 操作传入的数据;另一个作为输出栈,专门用于处理 pop 和 ...
目录 反转字符串中的单词 找出字符串中第一个匹配项的下标 重复的子字符串 一、反转字符串中的单词 主要思路:把整个字符串的头尾的空格先去掉,然后根据” ”来划分字符串数组,将字符串倒着放进结果中。 class Solution { public String reverseWords(String ...
目录 344 反转字符串 反转字符串II 替换数字 一、反转字符串 344. 反转字符串 - 力扣(LeetCode) 本题要求原地反转字符串,即不使用额外空间修改 char[] s 中的字符顺序。考虑使用双指针法: 定义两个指针 left 和 right,分别指向字符串的两端; 依次交换 s[le ...
算法封装模板 点击查看代码 struct mat { vector<vector<int>>a; int n; mat (int n1):n(n1),a(n,vector<int>(n,0)){} mat operator-(const mat& T) const { mat res(n); for ...
华为OD机考2025年3月16号切换正式机考题库为2025A卷,现在刷2025A卷真题题库,极大概率遇到原题,通过率将大大提高. 华为OD2025年A卷题库,包含C++、Python、Java、JavaScript、Go实现源码 题目描述 一支N个士兵的军队正在趁夜色逃亡,途中遇到一条湍急的大河。敌 ...
目录 四数相加II 赎金信 三数之和 四数之和 一、四数相加II 454. 四数相加 II - 力扣(LeetCode) 主要思路: 分组+哈希表优化: 将四个数组分成两组,nums1 和 nums2 为一组,nums3 和 nums4 为另一组。 首先计算 nums1 和 nums2 中所有可能的 ...
目录 哈希表理论基础 242 有效的字母异位词 349 两个数组的交集 202 快乐数 1 两数之和 一、理论基础 哈希表(hash table),散列表。一般哈希表用来快速判断一个元素是否出现集合里,只需要O(1)复杂度就可以做到,不需要遍历。 三种方法:数组、set、map 哈希碰撞:两个数据哈 ...
目录 扩展题 下图中打勾的题目为前两个专题中已经做过的,接下来我们就来联系一下剩余的题目。 回文链表234. 回文链表 - 力扣(LeetCode) 21. 合并两个有序链表 - 力扣(LeetCode) 2. 两数相加 - 力扣(LeetCode) 25. K 个一组翻转链表 - 力扣(LeetC ...
什么是AC自动机? 是基于 Trie树 和 KMP失配指针 的一种高效多模式匹配算法。AC自动机能够一次构建,随后在遍历文本时同时匹配多个敏感词。 AC自动机算法的典型应用是敏感词匹配,在各大社交媒体平台如:微博、知乎、抖音等各用户发表评论时,该算法便派上了用场,最典型的是王者荣耀,玩家在聊天框发表 ...
训练目录 24题两两交换链表中的节点 19题 删除链表的倒数第N个节点 面试题 链表相交 142题 环形链表II 一、两两交换链表中的节点【交换节点】 这道题可以参考k个一组反转链表的操作。也可以就用两个节点交换的做法。 1 /** 2 * Definition for singly-linked ...
刷题笔记Day30:贪心算法part04 题目:合并区间 56. 合并区间 - 力扣(LeetCode) 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好 ...
题目描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: ...
今日任务目录 链表理论基础 203.移除链表元素 707.设计链表 206.反转链表 今天这一节是和链表的基础操作相关的,更加复杂的题目我们放到后面由浅入深来做。 一、链表理论基础 二、移除链表元素 这是力扣203题(),本题最关键是要理解虚拟头节点的使用技巧,这对链表题目很重要。 主要思路:对于A ...
A. Dr. TC 为了测试病人的智力,TC 博士设计了如下测试: 首先,他会构造一个长度为 \(n\) 的二进制字符串 \(s\)。然后,他会基于 \(s\) 构造出 \(n\) 个二进制字符串 \(a_1, a_2, \dots, a_n\)。构造方式如下:\(a_i\) 是将 \(s\) 复制 ...
华为OD机考2025年3月16号切换正式机考题库为2025A卷,现在刷2025A卷真题,通过率将大大提高. 华为OD机试2025年A卷题库目录 题目描述 Solo和koko是两兄弟,妈妈给了他们一大堆积木,每块积木上都有自己的重量。 现在他们想要将这些积木分成两堆。哥哥Solo负责分配,弟弟koko ...
github仓库:https://github.com/EanoJiang/Data-structures-and-algorithms 栈与队列 栈(stack) 类比成一摞盘子,最上面的盘子就是栈顶,最下面的就是栈底。把元素添加到栈顶是入栈,删除栈顶就是出栈。 “先入后出" 顺序实现 栈的结构 ...
目录 209.长度最小的子数组(滑动窗口) 力扣100:无重复字符的最长子串 力扣100:找到字符串中所有字母异位词 59.螺旋矩阵 华为真题螺旋矩阵: 73题矩阵置零: 48题旋转图像: 240题搜索二维矩阵II: 区间和(前缀和): 开发商购买土地(二维前缀和): 一、长度最小的子数组 力扣20 ...
刷题笔记Day30:贪心算法part04 题目:用最少数量的箭引爆气球 452. 用最少数量的箭引爆气球 - 力扣(LeetCode) 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] = [xstart, xend] 表示水平直径 ...
一、PLINK 核心功能 数据管理与格式转换 • 支持格式:PLINK 支持多种基因型数据格式,包括文本格式(.ped + .map)、二进制格式(.bed + .bim + .fam)及 VCF 格式。 • 转换示例: # VCF 转二进制格式 plink --vcf input.vcf --ma ...