365天挑战LeetCode1000题——Day 102 Airwallex 空中云汇 & 力扣周赛 公因子的数目 沙漏的最大总和 最小 XOR 对字母串可执行的最大删除数

ptrade从零开始学习量化交易第166期【ptrade量化策略研究参考--三个因子挖掘思路】 三个因子挖掘思路 阅读详情

公因子的数目

在这里插入图片描述

代码实现

class Solution {
public:
    int commonFactors(int a, int b) {
        int cnt = 0;
        int maxNum = min(a, b);
        for (int i = 1; i <= maxNum; i++) {
            if (!(a % i) && !(b % i)) cnt++;
        }
        return cnt;
    }
};

沙漏的最大总和

在这里插入图片描述

代码实现(前缀和)

class Solution {
public:
    int maxSum(vector<vector<int>>& grid) {
        int m = grid.size(), n = grid[0].size();
        vector<vector<long long>> dp(m, vector<long long>(n));
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                dp[i][j] = grid[i][j];
            }
        }
        for (int i = 1; i < m; i++) {
            dp[i][0] += dp[i - 1][0];
        }
        for (int j = 1; j < n; j++) {
            dp[0][j] += dp[0][j - 1];
        }
        for (int i = 1; i < m; i++) {
            for (int j = 1; j < n; j++) {
                dp[i][j] += dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1];
                // cout << i << " " << j << " " << dp[i][j] << endl;
            }
        }
        long long answer = 0;
        for (int i = 2; i < m; i++) {
            for (int j = 2; j < n; j++) {
                if (i == 2 && j == 2) {
                    answer = max(answer, dp[i][j] - grid[i - 1][j] - grid[i - 1][j - 2]);
                    // cout << dp[i][j] << " " << grid[i - 1][j] << " " << grid[i - 1][j - 2];
                    continue;
                }
                if (i == 2) {
                    answer = max(answer, dp[i][j] - dp[i][j - 3] - grid[i - 1][j] - grid[i - 1][j - 2]);
                    continue;
                }
                if (j == 2) {
                    answer = max(answer, dp[i][j] - dp[i - 3][j] - grid[i - 1][j] - grid[i - 1][j - 2]);
                    continue;
                }
                answer = max(answer, dp[i][j] - dp[i - 3][j] - dp[i][j - 3] + dp[i - 3][j - 3]
                             - grid[i - 1][j] - grid[i - 1][j - 2]);
            }
        }
        return answer;
    }
};

最小 XOR

在这里插入图片描述

代码实现

class Solution {
public:
    int minimizeXor(int num1, int num2) {
        int tmp1 = num1, tmp2 = num2;
        int cnt1 = 0, cnt2 = 0;
        while (tmp1) {
            if (tmp1 & 1) cnt1++;
            tmp1 = tmp1 >> 1;
        }
        while (tmp2) {
            if (tmp2 & 1) cnt2++;
            tmp2 = tmp2 >> 1;
        }
        // cout << cnt1 << " " << cnt2 << endl;
        int shiftLeft = 30;
        int ans = 0;
        while (cnt1-- && cnt2--) {
            while (((1 << shiftLeft) & num1) == 0) shiftLeft--;
            ans += (1 << shiftLeft);
            // cout << shiftLeft << endl;
            shiftLeft--;
        }
        if (cnt2 < 0) return ans;
        // cout << cnt2;
        shiftLeft = 0;
        while (cnt2--) {
            // cout << ((1 << shiftLeft) & num1) << endl;
            while (((1 << shiftLeft) & num1) != 0) shiftLeft++;
            ans += (1 << shiftLeft);
            // cout << shiftLeft << endl;
            shiftLeft++;
        }
        return ans;
    }
};

对字母串可执行的最大删除数

在这里插入图片描述

代码实现

class Solution {
private:
    unordered_map<string, int> mp;
public:
    int deleteString(string s) {
        int i;
        for (i = 0; i < s.size(); i++) {
            if (s[i] != s[0]) {
                break;
            }
        }
        if (i == s.size()) return s.size();
        if (s.empty()) return 0;
        if (mp.count(s)) return mp[s];
        int maxCnt = 1;
        for (int i = 1; i <= s.size() / 2; i++) {
            if (s.substr(0, i) == s.substr(i, i)) {
                maxCnt = max(maxCnt, deleteString(s.substr(i)) + 1);
            }
        }
        mp[s] = maxCnt;
        return maxCnt;
    }
};
【Sentaurus TCAD仿真】几种基础操作 当内存不足时,没必要删除整个Project,只需要 Clean up 节点信息即可。因为占用内存的主要部分是。文件数据,Command文件是不占用多少内存的,下次需要此工程仿真结果重新运行即可。右击可以对该工程进行剪切、复制、删除、重命名等操作。当节点号有时候排序混乱的时候,我们需要重新编排节点号。此时左侧工具栏就能看见我们新建的这个工程。运行节点时不同的颜色代表目前的状态。在这个地方添加要使用的工具。这个时候需要的工具就建好了。然后选择需要使用的工具。我们需要保存这个工程。 阅读详情

相关推荐

大华事件检测智能服务器,大华股份:高速公路智能事件检测 解决方案

1方案背景随着我国基础设施建设的飞速发展,公路尤其是高速公路的总里程数年年攀升。交通运输部统计数据显示,截止2017年底全国公路总里程477.35万公里,其中高速公路13.65万公里,位居世界第一。高速公路的运营和管理作为全国交通管理的重要组成部分日益受到严峻挑战,交通拥堵和事故频发已成为高速公路上非常突出的问题。抛洒物、行人、车辆不规则行驶等事件是导致以上结果的重要原因。基于视频分析的高速公路智...

weixin_39523887的博客 1822

1717 删除子字符串的最大得分

题目描述: 给你一个字符串 s 和两个整数 x 和 y 。你可以执行下面两种操作任意次。 删除子字符串 “ab” 并得到 x 分。 比方说,从 “cabxbae” 删除 ab ,得到 “cxbae” 。 删除子字符串"ba" 并得到 y 分。 比方说,从 “cabxbae” 删除 ba ,得到 “cabxe” 。 请返回对 s 字符串执行上面操作若干次能得到的最大得分。 示例 1: 输入:s = “cdbcbbaaabab”, x = 4, y = 5 输出:19 解释: 删除 “cdbcbbaaabab

weixin_44171872的博客 429

R语言clusterProfiler实战:GO与KEGG富集分析从入门到精通

本文提供了一份详尽的R语言clusterProfiler实战指南,从环境配置、数据导入、基因ID转换到GO与KEGG富集分析及可视化,手把手教你解读生物学意义。文章重点介绍了如何利用clusterProfiler这一强大工具,将差异基因列表转化为清晰的生物学通路与功能故事,并分享了结果解读、可视化以及处理非模式生物等进阶技巧与避坑指南。

weixin_29044713的博客 162

快速判断两个字符串是否相等:字符串哈希

用字符串哈希来快速判断两个子字符串是否相同

qq_41358366的博客 1454

工业缺陷检测的新范式:2025-2026年零样本检测技术全景扫描

摘要: 工业视觉领域面临缺陷样本稀缺、标注成本高等痛点,零样本缺陷检测(Zero-Shot Defect Detection)成为研究热点。2025-2026年的技术进展主要分为三类:1)视觉-语言模型(VLM)路线,如CLIP适配器跨域对齐热成像数据;2)数字孪生路线,通过CAD模型生成理想状态对比检测缺陷;3)基于CLIP的提示学习,如Crane模型通过上下文提示提升泛化能力。尽管实验室效果显著(如IoU达70%),但在真实工业场景(如MIRAD数据集)中性能平均下降29.78%,凸显跨域泛化仍是挑战。

blanokvaffy的博客 1144

摆脱英文束缚!群晖Transmission4.0.4全新中文界面攻略

在群晖安装完官方Transmission4.0.4套件后,界面是英文状态的,不太好用。但是按照网上分享的原来4.0以前版本的方法更新UI又失败,所以自己搞了下成功了,分享给需要的朋友。

XiaoqiangClub的博客 5211

2430. 对字母串可执行的最大删除数(每日一难phase2--day25)

leetcode 周赛T4

weixin_42051691的博客 577

基于Transformer模型实现交通流量时序预测(PyTorch版)

Transformer模型,作为一种基于自注意力机制的深度学习模型,最初在自然语言处理领域取得了突破性进展,其出色的长距离依赖关系捕捉能力使其在处理时序数据时也表现出色。将Transformer模型应用于交通流量时序预测,可以充分利用其优势,实现对交通流量更加精准、高效的预测。

时序笔记 2570

leetcode 5786. 可移除字符的最大数目(二分法)

题目 给你两个字符串 s 和 p ,其中 p 是 s 的一个 子序列 。同时,给你一个元素 互不相同 且下标 从 0 开始 计数的整数数组 removable ,该数组是 s 中下标的一个子集(s 的下标也 从 0 开始 计数)。 请你找出一个整数 k(0 &lt;= k &lt;= removable.length),选出 removable 中的 前 k 个下标,然后从 s 中移除这些下标对应的 k 个字符。整数 k 需满足:在执行完上述步骤后, p 仍然是 s 的一个 子序列 。更正式的解释是,对于.

weixin_44560620的博客 301

AttributeError: module ‘lib‘ has no attribute ‘X509_V_FLAG_CB_ISSUER_CHECK‘解决方案

本文主要介绍了AttributeError: module ‘lib’ has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK’解决方案,希望能对使用python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 5万+

[Dify] HTTP 请求节点总是调不通?先把请求头、参数、变量和返回 JSON 拆开查

这篇文章围绕 Dify HTTP 请求节点调不通、接口能通但流程不稳定、返回 JSON 后续节点读不到等问题展开,从 Method、URL、Header、Body、变量映射和返回字段提取几个角度梳理排查顺序。适合正在把 Dify Workflow 接入企业微信、CRM、工单系统或内部接口的读者阅读,帮助你把接口调用从一次性跑通推进到可复用、可验证的业务流程。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 3944

leetcode1717. 删除子字符串的最大得分

题目描述 给你一个字符串s和两个整数x 和y。你可以执行下面两种操作任意次。 删除子字符串"ab"并得到x分。 比方说,从"cabxbae"删除 ab,得到"cxbae"。 删除子字符串"ba"并得到y分。 比方说,从"cabxbae"删除 ba,得到"cabxe"。 请返回对 s字符串执行上面操作若干次能得到的最大得分。 示例 1: 输入:s = "cdbcbbaaabab", x = 4, y = 5 输出:19 解释: - 删除 "cdbcbba...

sunnyLKX的博客 528

Cesium中级开发教程之二十二:视锥体

教程示例网站:https://thomaz529.github.io。

883

求集合的交集/差集

先利用外部排序使两个磁盘文件有序,然后顺序读取两个文件,使用双指针求交集。在进阶 1 中,我们是通过双指针去做的,最坏情况下我们需要完整遍历。时,O(n log m) 可能明显优于 O(n + m)。的,这就使得我们可以通过从 1~1000 遍历来确定交集。,它们已经按非降序排序,请你返回两个数组的。和上一题的区别在于,这里需要找到重复的元素。返回一个数组,数组中的每个元素在。的每个字符串中都出现的共用字符(**注意:**列表中的整数可以按。较小,可以完整加载到内存,而。正整数组成的一个非空数组,按。

jyyyyx的算法之旅 112

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LeetCode Hot 100 二叉树专题(二)3 题(Java)

本篇文章共 3 题:543. 二叉树的直径、102. 二叉树的层序遍历、108. 将有序数组转换为二叉搜索树。 每道题都统一按「① 题目分析 & 解题思路 → ② 常见解法(附代码)及讲解 → ③ 知识点总结」的顺序组织;代码使用 Java 编写,节点定义沿用 LeetCode 默认的 TreeNode。

2401_88612756的博客 365

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等)

LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等) 题目描述: 给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: - s = s1 + s2 + ... + sn - t = t1 + t2 + ... + tm - |n - m| <= 1 - 交错 是 s1 + t

huayimenghan的博客 205

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

LeetCode 每日一题 2026/11/2-2026/11/8

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步

AlphaTao的博客 175

leetcode 3736. 最小操作次数使数组元素相等 III 简单

中的所有元素都等于 3。中的所有元素都等于 5。在一步操作中,你可以将任意单个元素。返回使数组中的所有元素都。

2401_88085478的博客 202

LeetCode 1861. 旋转盒子|Go 双指针解法

j >= 0,如果写成j>0,会漏掉第 0 列,最左侧石头处理失败旋转矩阵行列互换:原 m 行 n 列 → 结果 n 行 m 列,make 数组长度不要写反旋转公式m-1-i:是原总行数 m,不是 n!很容易写成n-1-i区分:本题和轮转数组(189)分组循环不一样!189:所有元素固定移动 k 步,需要 gcd 分组1861:障碍物分割成多个独立段,石头向段末尾挤,用双指针更合适。

2503_92676540的博客 175

LeetCode //C - 1313. Decompress Run-Length Encoded List

The problem involves decompressing a run-length encoded list where each pair of adjacent elements in the input array represents a frequency and value. The solution requires expanding these pairs into the corresponding number of values in the output array.

Made in Code 222

leetcode 462. 最小操作次数使数组元素相等 II 中等

返回使所有数组元素相等需要的最小操作数。在一次操作中,你可以使数组中的一个元素加。测试用例经过设计以使答案在。

2401_88085478的博客 202

Hash表:两数之和、字母异位词分组、最长连续序列 [力扣 Hot100]

三道高频哈希表应用题:两数之和(利用HashMap快速查找补数)、字母异位词分组(排序后作为键分组)、最长连续序列(通过HashSet去重并仅从序列起点扩展)。核心思想均为借助哈希结构优化查找效率,避免重复计算。同时提及双指针等其他解法思路,体现算法设计中“空间换时间”的典型策略。

2403_87560480的博客 214

力扣73 矩阵置零

该解法通过标记含0的行和列来实现矩阵置零。遍历矩阵,用布尔数组记录有0的行和列;再遍历一次,若当前行或列被标记,则置为0。时间复杂度O(mn),空间复杂度O(m+n)。

Pniubi的博客 16

LeetCode Hot 100 二叉树专题(三):BST 二叉搜索树与右视图(Java)

本专题主线:三题(98 / 230 / 199)共用两把钥匙——BST 的中序序列严格递增,以及遍历中的"层"与"深度"标记。看懂这两点,三题共用一套模板。 结构约定:每题统一分三部分——①题目分析与解题思路(含易错点辨析);②常见解法(附代码)及讲解;③知识点总结。

2401_88612756的博客 581

LeetCode 3926. 统计有效单词的出现次数【分组循环】

核心思想:用分组循环,一趟遍历字符串,把一个个单词切出来,丢进哈希表统计频次。,先把所有片段拼接成完整文本字符串。,依次返回每个单词在文本里的出现次数。难点:内层循环的判断条件,区分。

2503_92676540的博客 168

力扣第526场周赛心得理解

思路:因为题目要求尽可能求出最小的最大值,而满足要求最小公约数为2,作为题目要求最小的最大值,先去求出它的最大公约数再通过value判断最左边是否大于0,以及value本身是否大于0,而index的位置只能为中间或者最右边,所以最后输出只能是value本身或者在这个基础上加相隔相应距离次数的结果。两个整数,是指将第二个整数的所有十进制数位拼接在第一个整数的所有十进制数位之后。如果不存在这样的数组,返回 -1。4097. 合并整数后的最小值。返回所有合并后得到的整数中的。合并,依此类推,直到将。

目前主攻编程,目标是把屏幕上的红波浪线变成流畅运行的程序♪(^∀^●)ノシ 204
上一篇: 365天挑战LeetCode1000题——Day 101 重新格式化电话号码 喧闹和富有 所有可能的真二叉树
下一篇: 365天挑战LeetCode1000题——Day 103 400题 检查二进制字符串字段 最大子序列交替和 最低票价 K 站中转内最便宜的航班
ShowM3TheCode
博客等级 码龄5年 29粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值