LeetCode题目: 5.Longest Palindromic Substring

5. 最长镜像子串 [leetcode 5: Longest Palindromic Substring] 5. 最长镜像子串 [leetcode 5: Longest Palindromic Substring] 原题链接 https://leetcode.com/problems/longest-palindromic-substring 老王的解法链接 https://github.com/simplemain/leetcode/blob/master/5/analysis.md 难度 ★★☆☆☆... 阅读详情

LeetCode题目: 5.Longest Palindromic Substring

原题链接:https://leetcode.com/problems/longest-palindromic-substring/description/

解题思路:

回文串可分为两种,第一种是中间有一个单独字符,两边对称,例如:“abcba”。第二种是中间没有单独字符,沿中间对称,例如:“abba”。因此,可以以字符串的一些位置作为子串匹配起点,两边依次匹配,到无法匹配为止。

核心思想:

将字符串拉长到两倍,中间补齐空格,例如:“aabbccdd” => “a a b b c c d d”。这样每一个字符,都能成为回文串的匹配起点,如果是字符,代表第一种字符串。如果是空格,代表第二种字符串。

这样,只需要遍历整个拉长版字符串,每个值都匹配到无法匹配为止。将得到的回文串和最大回文串比较,并选出较大者。遍历结束后,就能得到最大回文串。

代码细节:

1.拉长版字符串的首字母、尾字母可以去掉,因为只可能出现为长度为1的回文串。

2.将遍历指针i分为奇数和偶数,代表两种回文字符串的匹配。


坑点:

1.匹配回文串的时候,可能会越界。


代码:

string longestPalindrome(string s) {
    string maxPalString;         // 返回的最大回文字符串
    int length = s.size();       // 输入字符串的长度 
    if (!s.empty())  maxPalString = s.substr(0, 1);  // 默认为单个字符 

    int j;                       // 用于遍历 
    int left;                    // 左边字符的位置
    int right;                   // 右边字符的位置

    // 将两个字符中间的空位也看成一个字符,每个字符作为回文串的中间值,
    // 因此:
    //      长length的字符串长度变成了2*length-1,去掉首尾字母,即1->2*length-3 
    for (int i = 1; i < 2 * length - 2; i++) {
        j = 1;
        // 偶数,即为真正的字符 
        if (i % 2 == 0) {
            // 不停将左右两边的字符进行比较,最后得出的就是该位置为中值的最大子串 
            while (1) {
                left = i / 2 - j;
                right = i / 2 + j;
                // 两种越界情况 
                if (left < 0)  break;
                if (right >= length)  break;
                // 左右值不匹配,跳出 
                if (s[left] != s[right])  break;
                j++;
            }
        } 
        // 奇数,即空白 
        else {
            // 不停将左右两边的字符进行比较,最后得出的就是该位置为中值的最大子串
            while (1) {
                left = (i + 1) / 2 - j;
                right = i / 2 + j;
                // 两种越界情况
                if (left < 0)  break;
                if (right >= length)  break;
                // 左右值不匹配,跳出 
                if (s[left] != s[right])  break;
                j++;
            }
        }

        // 如果该子串较大,赋值 
        if (right - left - 1 > maxPalString.size())
            maxPalString = s.substr(left + 1, right - left - 1);   
    }

    return maxPalString; 
}
视觉SLAM的前段后端最详细的梳理(硕士入门知识框架更新) 文章目录视觉SLAM的组成结构视觉里程计(VO)-特征点法 -构建稀疏点云地图-直接法 -构建稠密或半稠密的地图 --需要使用 RGB-D 传感器视觉里程计--总结:SLAM 后端研究滤波器法非线性优化后端方式的差异(有五种优化方式):单目视觉里程计的初始化:运动估计:半直接法运动估计的优化方案:关于解决累计误差的一些方法:关键帧的建图及后端优化:特征的深度估计:图优化的后端研究:视觉与IMU融合的分类:视觉与IMU的融合的优势:存在的问题:优秀的开源: 视觉SLAM的组成结构 视觉里程计(VO) -特 阅读详情

相关推荐

游程理论提取灾害事件特征V2---基于MATLAB语言的编程实现

游程理论,灾害事件,MATLAB

EWBA_GIS_RS_ER的博客 3794

leetcode题目-5. Longest Palindromic Substring

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example 1: Input: "babad" Output: "bab" Note: "aba" is also a valid answer. Exa...

zydapangzi的博客 152

Diebold-Mariano检验

给定两个预测的预测结果,我们希望比较他们的预测结果,以用于预测模型精度的比较。 Diebold-Mariano检验本质是一个t检验,用于检验替代预测的两个损失序列的平均值是否相等。即,它是一系列损失差的零均值的t检验。在存在自相关的情况下,它使用损失差分时间序列标准差的自相关一致性估计。 注意,在使用DM检验式时,假设损失序列是平稳的。 另外,DM检验在小样本数据时往往会拒绝零假设。对于小样本数据,推荐Harvey, Leybourne and Newbold (HLN)检验【1】; 参考文献 【1】htt

weixin_43948357的博客 6565

LeetCode题目 5. Longest Palindromic Substring

题目地址:点击打开链接  题目描述: Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example: Input: "babad" Output: "bab" Note: "aba" is al

sinat_37607788的博客 232

解忧杂货铺(四):Hightec生成HEX方法+小功能开启

Hightec使用的一些常用技能

梦想技术家 2161

声纹识别实战:用Python从零搭建一个简易声纹验证系统(附完整代码)

本文是一份详细的声纹识别实战指南,教你使用Python从零搭建一个简易的声纹验证系统。文章涵盖了从音频采集、预处理、MFCC特征提取,到基于高斯混合模型(GMM)的建模与验证全流程,并提供了完整的代码实现,帮助开发者快速掌握这项生物特征识别核心技术。

ik6789012的博客 232

LeetCode 5. Longest Palindromic Substring 题解

本题是动态规划的经典问题,主要考察对状态定义和状态转移方程的理解。通过动态规划或中心扩展法,我们可以高效地找到最长的回文子串。动态规划的核心思想是:通过填充一个二维表格,记录每个子串是否是回文串。中心扩展法的核心思想是:遍历每个字符作为回文串的中心,向两边扩展,找到最长的回文串。在实际应用中,中心扩展法通常更受欢迎,因为它的空间复杂度更低,而且代码更简洁易懂。这种方法不仅适用于最长回文子串问题,还可以应用于许多其他需要处理回文串的问题。掌握这些方法,对于解决这类问题非常重要。

cannonjinx的博客 4597

2025.06.17【WGS】|多样品VCF文件中每个样品SNP数统计方法详解(含代码与注释)

摘要:本文介绍了一种从合并后的VCF文件中统计每个样品SNP数目的方法。通过解析VCF文件中的GT字段,排除纯合参考(0/0)和缺失(./.)的基因型,准确计算各样本的SNP位点数。文中提供了完整的Python脚本,利用bcftools工具高效处理大规模VCF文件,并支持输出SNP统计结果。该方法适用于群体遗传学和RAD-seq等高通量测序数据分析的质控环节,还可扩展为统计杂合/纯合SNP等进阶需求。脚本使用简单,只需输入VCF文件即可生成样本-SNP数目的统计报表。

1700

[Leetcode] 5. Longest Palindromic Substring 和 [Leetcode] 516. Longest Palindromic Subsequence 最长回文子序

目录 1、[Leetcode] 5. Longest Palindromic Substring (1)、问题描述 (2)、思路分析 (3)、Java代码 2、[Leetcode] 516. Longest Palindromic Subsequence (1)、 问题描述 ​​​​​​ (2)、 思路分析 (3)、 Java代码 1、[Leetcode] 5. Longe...

qq_29545781的博客 655

第八章 MobileNetv3网络详解

本文介绍了基于互补的搜索技术和新颖的架构设计的MobileNets的下一代。MobileNetV3通过硬件感知网络架构搜索(NAS)和NetAdapt算法相结合,针对移动电话CPU进行优化,随后通过新颖的架构改进技术进行了进一步提高。本文开始探索自动化搜索算法和网络设计如何相互协作,以利用互补的方法改进整体技术水平。通过此过程,我们创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用情况。

ADICDFHL的博客 1万+

第29章:PCL PrincipalCurvatures 曲率估计

PrincipalCurvatures(主曲率估计)是一种用于计算点云表面曲率的算法。曲率描述了曲面局部的弯曲程度,是表面几何特征的重要指标。在点云处理中,估计表面的曲率对于形状分析、物体识别、表面重建等任务非常重要。主曲率是曲面上某一点的最大和最小曲率方向。通过计算点云的主曲率,我们可以获得点云中每个点的局部形状特征。通常情况下,主曲率包括两个主要参数:最大主曲率(最大曲率方向上的曲率)和最小主曲率(最小曲率方向上的曲率)。优点缺点提供了对点云表面局部形状的深入分析。

yumeiguo的博客 213

[ LeetCode ] 5. Longest Palindromic Substring (C++ & Python)

题目: 5. Longest Palindromic Substring Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example 1: Input: "babad" Output: "bab" No...

xn's blog 555

音视频OSD——使用freetype将矢量字库的信息叠加至YUV

目录freetypes使用步骤1)包含头文件:2) 初始化库:3)加载face对象:4)设置字体大小5)设置字体位置,以及旋转度数:6)加载字形图像准备矢量字库代码.c.h效果叠加至YUV freetypes FreeType是一个完全开源的、可扩展、可定制且可移植的字体引擎,它提供TrueType字体驱动的实现统一的接口来访问多种字体格式文件 下载freetypes tar -xjf freetype-2.4.10.tar.bz2 cd freetype-2.4.10/ ./configure

路人coder 2364

c语言刷leetcode第五题Longest Palindromic Substring

近日要找实习,需要练习一下算法,于是准备刷题。用的是leetcode。但是刷了一段时间,就发现之前自己之前刷的题目的思路不是很清晰了,于是在这里记录一下自己的思路和代码,以供之后复习理解。 第五题Longest Palindromic Substring第五题Longest Palindromic Substring题干: Given a string s, find the longest

guijiao1243的博客 948

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

LeetCode 刷题记录 5. Longest Palindromic Substring

题目: Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example 1: Input: “babad” Output: “bab” Note: “aba” is also a valid answer. Exam...

dldldl1994的博客 329

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

LeetCode 5. Longest Palindromic Substring 解题报告

LeetCode 5. Longest Palindromic Substring 解题报告题目描述Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.示例Example 1: Input : “babad” Ou

骆小坑的填坑之旅 3212

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

LeetCode 5 longest-palindromic-substring题解

LeetCode longest-palindromic-substring题解 题目链接 飞鱼决定开始每天保底五题(except Hard) 粗爆动态规划 (fast than 25%) 思路 主要就是挖掘前提条件: 1、单个字符必然回文 2、两个字符当且仅当他们相同时回文 其次是关联: 如果区间[i, j]是回文,当且仅当[ i+1, j-1]是回文 and s[i] == s[j] 然后再...

qq_42308861的博客 212

LeetCode(5) Longest Palindromic Substring

如果一个字符串从左向右写和从右向左写是一样的,这样的字符串就叫做palindromic string,如aba,或者abba。给定输入一个字符串,要输出一个子串,使得子串是输入字符串的最长的padromic string。 我的思路是这样的。 以abba这样一个字符串为例来看,abba中,一共有偶数个字,第1位=倒数第1位,第2位=倒数第2位......第N位=倒数第N位 以aba这样一个字

BUILD 1万+

LeetCode-Longest Palindromic Substring

文章目录LeetCode-Longest Palindromic Substring题目描述思路分析C++实现Scala实现 版权声明:本文为博主原创文章,转载请注明原文出处! 写作时间:2019-02-10 00:04:34 LeetCode-Longest Palindromic Substring 题目描述 LeetCode第5道题目:5. Longest Palindromic Subst...

给永远比拿愉快 802

【LeetCode】5. Longest Palindromic Substring

5. Longest Palindromic Substring Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example: Input: &quot;babad&quot; Output: &quot;bab&quot; Note: ...

zjwreal 1760

LeetCode 5_Longest Palindromic Substring

LeetCode 5_Longest Palindromic Substring  题目描述: Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique

六道的专栏 567

LeetCode - 5. Longest Palindromic Substring

Longest Palindromic Substring 解法一 Brute Force 遍历每个位置,并查看是否存在以这个位置为中心的(奇和偶)回文。 class Solution { public: string longestPalindrome(string s) { if(s.empty()) return s; int mx=1, st...

real_lisa的博客 1756

LeetCode算法入门- Longest Palindromic Substring-day5

LeetCode算法入门- Longest Palindromic Substring-day5 Longest Palindromic Substring Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Examp...

hongjie_lin 217

Leetcode 5. Longest Palindromic Substring (python)

题目 解法1:动态规划 这边的动态规划需要注意两个点: 长度为1和2的需要单独判断 二维dp中的一维代表开始,二维代表长度。如果一维代表开始,一维代表结束的话,没有办法保证子问题已经被计算 class Solution: def longestPalindrome(self, s: str) -> str: if not s: return '' n = len(s) dp = [[False]*n

qq_37821701的博客 794

Leetcode 5 Longest Palindromic Substring

Leetcode 5 Longest Palindromic Substring Java easy-understanding solution Approach 3: Dynamic Programming class Solution { public String longestPalindrome(String s) { int max = 0; ...

weixin_43876597的博客 117

LeetCode 5. Longest Palindromic Substring

LeetCode 5. Longest Palindromic Substring Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example 1: Input: "babad" Output: "bab" N...

个人博客 480
上一篇: LeetCode题目:4.Median of Two Sorted Arrays
下一篇: LeetCode题目:6.ZigZag Conversion
MyCodecOdecoDecodE
博客等级 码龄10年 66粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值