20190413-Leetcode-112.路径总和

BEP分词算法 因此,在训练初期,这些合并会创建由两个字符组成的 token,随着训练的推进,逐渐生成更长的子词(subwords)。BPE(Byte-Pair Encoding,字节对编码)训练的第一步是计算语料库中所有独一无二的词集(在完成规范化和预分词步骤之后),然后提取构成这些词的所有符号来构建初始词表。这样一来,基础词表的大小就能保持在较小的规模(256),同时你所能想到的任何字符都会被包含进来,而不会被转换为未知 token。将被添加到词表中,并且该 token 对 将在 语料库 的所有词中被合并。 阅读详情

Leetcode-112-路径总和

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。
说明: 叶子节点是指没有子节点的节点。
示例:
给定如下二叉树,以及目标和 sum = 22,
5/ 4   8/   / 11  13  4/  \      7    2      1

返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。
思路:递归依次先序遍历所有路径,判断路径中是否出现和为sum的路径,若是直接返回true。
代码

class Solution {
public:
    void preorder(bool &flag, TreeNode* root, int now_sum, int sum){
       //有flag相当于剪枝的过程,把不合适的直接去掉,不访问。 
if(root == NULL || flag == true){
            return;
        }
        now_sum = now_sum + root->val;
        if(now_sum == sum && root->left == NULL && root->right == NULL){
            flag = true;
            return;
        }
        preorder(flag, root->left, now_sum, sum);
        preorder(flag, root->right, now_sum, sum);
        now_sum = now_sum - root->val;
    }
    bool hasPathSum(TreeNode* root, int sum) {
        bool flag = false;
        preorder(flag, root, 0, sum);
        return flag;
    }
};
20190417-Leetcode-409.最长回文数 Leetcode-409.最长回文数 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入: “abccccdd” 输出: 7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。 思路: 用一个数组存放A-Z和a... 阅读详情

相关推荐

20190509-Leetcode-938.二叉搜索树的范围和

Leetcode-938.二叉搜索树的范围和 给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。 二叉搜索树保证具有唯一的值。 示例 1: 输入:root = [10,5,15,3,7,null,18], L = 7, R = 15 输出:32 示例 2: 输入:root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10 输出...

WangXu__的博客 432

20190604-Leetcode-977. 有序数组的平方

Leetcode-977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100] 示例 2: 输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121] 提示: 1 <= A.length <= 10000 -10000 <=...

WangXu__的博客 396

20190425-Leetcode-473.火柴拼正方形

Leetcode-473.火柴拼真方形 还记得童话《卖火柴的小女孩》吗?现在,你知道小女孩有多少根火柴,请找出一种能使用所有火柴拼成一个正方形的方法。不能折断火柴,可以把火柴连接起来,并且每根火柴都要用到。 输入为小女孩拥有火柴的数目,每根火柴用其长度表示。输出即为是否能用所有的火柴拼成正方形。 示例 1: 输入: [1,1,2,2,2] 输出: true 解释: 能拼成一个边长为2的正方形,每边...

WangXu__的博客 402

Leetcode-560. 和为K的子数组

Leetcode-560. 和为K的子数组     给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1 : 输入:nums = [1,1,1], k = 2 输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 说明 :     数组的长度为 [1, 20,000]...

WangXu__的博客 374

Leetcode-633. 平方数之和

Leetcode-633. 平方数之和      给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 aa + bb = c。 示例1: 输入: 5 输出: True 解释: 1 * 1 + 2 * 2 = 5 示例2: 输入: 3 输出: False 思路:      双指针法。但是注意lef...

WangXu__的博客 364

Leetcode-304. 二维区域和检索 - 矩阵不可变

Leetcode-304. 二维区域和检索 - 矩阵不可变     给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2)。 示例: 给定 matrix = [ [3, 0, 1, 4, 2], [5, 6, 3, 2, 1], [1, 2, 0, 1, 5], [...

WangXu__的博客 344

20190423-Leetcode-126.单词接龙2

Leetcode-126.单词接龙2 给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列。转换需遵循如下规则: 每次转换只能改变一个字母。 转换过程中的中间单词必须是字典中的单词。 说明: 如果不存在这样的转换序列,返回一个空列表。 所有单词具有相同的长度。 所有单词只由小写字母组成。 字典中不存在...

WangXu__的博客 316

Leetcode-89. 格雷编码

Leetcode-89. 格雷编码 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。 示例 1: 输入: 2 输出: [0,1,3,2] 解释: 00 - 0 01 - 1 11 - 3 10 - 2 对于给定的 n,其格雷编码序列并不唯一。 例如,[0,2,3,1] 也是一个有...

WangXu__的博客 298

Leetcode-647. 回文子串

Leetcode-647. 回文子串      给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。      具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。 示例 1: 输入: "abc" 输出: 3 解释: 三个回文子串: "a", "b", "c". 示例 2: 输入...

WangXu__的博客 294

20190427-Leetcode-407.接雨水2

Leetcode-407.接雨水2 给定一个 m x n 的矩阵,其中的值均为正整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。 说明: m 和 n 都是小于110的整数。每一个单位的高度都大于0 且小于 20000。 示例: 给出如下 3x6 的高度图: [ [1,4,3,1,3,2], [3,2,1,3,2,4], [2,3,3,2,3,1] ] 返回 4。 思路: ...

WangXu__的博客 285

20190419-Leetcode-76.最小覆盖子串

Leetcode-76.最小覆盖子串 给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串。 示例: 输入: S = “ADOBECODEBANC”, T = “ABC” 输出: “BANC” 说明: 如果 S 中不存这样的子串,则返回空字符串 “”。 如果 S 中存在这样的子串,我们保证它是唯一的答案。 思路: 初试两个指针,一个为begin,一个为end,end依...

WangXu__的博客 277

20190428-Leetcode-547.朋友圈

Leetcode-547.朋友圈 班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。 给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必须输出所有...

WangXu__的博客 276

20190416-Leetcode-315.计算右侧小于当前元素的个数

Leetcode-315.计算右侧小于当前元素的个数 给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。 示例: 输入: [5,2,6,1] 输出: [2,1,1,0] 解释: 5 的右侧有 2 个更小的元素 (2 和 1). 2 的右侧仅有 1 个更小的元素 (1)...

WangXu__的博客 263

20190419-Leetcode-187-重复的DNA序列

Leetcode-187.重复的DNA序列 所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来查找 DNA 分子中所有出现超多一次的10个字母长的序列(子串)。 示例: 输入: s = “AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT” 输出: [“...

WangXu__的博客 260

AI大模型如何抓取和推荐南京本地商户?GEO技术链路与POI权重算法拆解

AI大模型正重构本地服务流量分发,通过语义理解、地理围栏与知识图谱实现精准商户推荐。GEO(生成式引擎优化)聚焦POI数据结构化、多平台一致性与时效标签,提升商户在AI推荐中的可见性。技术链路涵盖意图解析、多级召回、语义匹配与结果生成,强调信息完整度、用户行为与内容更新频率。构建覆盖地域+品类的问答库,是提升推荐权重的关键策略。

xingdi999的博客 318

从“多传感器扇区统计”看ADAS感知任务拆解:算法、修正与工程落地

ADAS感知配置看起来很复杂:前视摄像头、角雷达、前向毫米波、激光雷达、超声波……新手容易一上来就想“做个完整融合系统”。本文只做第1步和第3步的简化版,重点不是堆功能,而是把“区间算法”怎么落到ADAS讲清楚。

Norman2025的博客 210

Chaikin‘s Corner Cutting 算法 应用canvas绘制平滑的曲线

本文介绍Chaikin角切割算法在Canvas画笔中的应用,通过“等距重采样—三角窗平滑—两轮角切割细分”三步管线,有效解决手绘线条因速度不均和手抖导致的锯齿与毛刺问题。该方案以恒定物理间距为基础,结合三角窗加权平均与凸组合细分,实现丝滑曲线生成,兼顾实时性与视觉美感,是画笔类应用的理想平滑方案。

weixin_55896343的博客 215

DFS与BFS:图遍历的两大核心算法

深度优先搜索(DFS)与广度优先搜索(BFS)是图遍历的两种核心算法。DFS采用“深入优先”策略,利用递归或显式栈实现,适合解决连通性、路径查找等问题;BFS采用“层层推进”策略,基于队列实现,适用于最短路径、层次遍历等场景。两者时间复杂度均为O(V²)(邻接矩阵)或O(V+E)(邻接表),空间复杂度为O(V)。DFS优先探索深层路径,BFS按距离逐层访问。掌握二者思想与实现,是学习高级图算法的基础。

qq_34097230的博客 132
上一篇: 20190413-Leetcode-113.路径总和2
下一篇: 20190413-Leetcode-114.二叉树展开为链表
WangXu__
博客等级 码龄9年 3粉丝 156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值