10 2022 档案

摘要:解题思路 根据题意,我们可以把 ss 看成是由「11 组」和「22 组」交替组成的,重点在于每组内的数字是一个还是两个,这可以从 ss 自身上知道。 构造到 ss 的长度达到 nn 时停止。 注意最后一次构造可能会填入两个数,导致 ss 的长度为 n+1n+1,因此最后统计 11 的个数时,应统计 阅读全文
posted @ 2022-10-31 21:21 hql5 阅读(40) 评论(0) 推荐(0) 编辑
摘要:##解题思路 使用回溯法。从左往右依次遍历字符,当遍历到字符串s的第i个字符c时: 如果c为一个数字,继续检测下一个字符。 如果c为一个字母,将其进行大小写转换,然后往后继续遍历;完成改写形式的子状态遍历后,将c进行恢复,继续往后遍历。 完成当前字符串的遍历后,表示当前的子状态已经遍历完,该序列称为 阅读全文
posted @ 2022-10-30 18:50 hql5 阅读(30) 评论(0) 推荐(0) 编辑
摘要:###解题思路 根据题意进行模拟即可,利用哈希表把输入的ruleKey转换为items[i]的下标,然后再遍历一遍items,找出符合条件的物品数量。 代码如下: class Solution { public: int countMatches(vector<vector<string>>& it 阅读全文
posted @ 2022-10-29 18:37 hql5 阅读(15) 评论(0) 推荐(0) 编辑
摘要:###解题思路 既然我们不能先遍历区间,然后找最小值,那么我们不如顺序倒过来,对于每个值,我们找有多少区间里面,它是最小值。 对于一个数字 A[i] 来说,如果在某个区间 [j, k] 里面它是最小值,那么 [j, k] 包含 A[i] 的子数组的最小值也一定是 A[i] 。所以我们只需要找出最大的 阅读全文
posted @ 2022-10-28 15:46 hql5 阅读(34) 评论(0) 推荐(0) 编辑
摘要:##解题思路 一个数组所有元素的乘积为正返回1,为零返回0,为负返回-1. 变量pos统计正元素的个数,变量neg统计负元素的个数,遍历数组。 遍历过程中如果有元素为零,直接返回0;遍历结束后,计算neg的个数,奇数就说明所有元素乘积为负,返回-1,否则返回1。 核心代码如下: class Solu 阅读全文
posted @ 2022-10-27 18:17 hql5 阅读(30) 评论(0) 推荐(0) 编辑
摘要:##解题思路 ###前缀和 定义前缀和$s[0] = 0$, $s[i+1] = \displaystyle\sum\limits_{j=0}^i nums[j]$。 例如 $nums=[1,2,-1,2]$,对应的前缀和数组为$s=[0,1,3,2,4]$。 通过前缀和,可以将子数组和转换为两个前 阅读全文
posted @ 2022-10-26 20:39 hql5 阅读(35) 评论(0) 推荐(0) 编辑
摘要:解题思路 由于0代表水域,1代表陆地,我们要区分两个岛屿,所以,在遍历grid矩阵的时候,只要第一次发现了某个格子为1,则开始将发现的新大陆进行编号,即将1变为2。在此过程中,我们采用深度遍历的方式寻找整个岛,在深度遍历的过程中,如果我们发现了某个格子为0,则说明我们已经遍历到了岛屿的边缘部分,则将 阅读全文
posted @ 2022-10-25 20:41 hql5 阅读(53) 评论(0) 推荐(0) 编辑
摘要:解题思路 最终的是将一个数组分为两个数组:左数组和右数组。这两个数组满足: 左数组的最大值小于右数组的任何值。需要一个变量left_max来记录左数组的最大值。 左数组长度尽可能小。使用变量idx记录满足条件的数组位置。 **左数组右边的值较小,则右边该值一定会划分到左数组。**此时需要更新idx的 阅读全文
posted @ 2022-10-24 20:28 hql5 阅读(24) 评论(0) 推荐(0) 编辑
摘要:##解题思路: 使用两个指针i和j分别指向两个字符串首位。循环中一次进行如下判断及操作: 如果i没有超出word1的长度,就将word[i]加入返回结果中。然后i指针后移一位。 如果j没有超出word2的长度,就将word[j]加入返回结果中。然后j指针后移一位。 当指针i和j都超出对应字符串的长度 阅读全文
posted @ 2022-10-23 20:39 hql5 阅读(59) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示