leetcode 402. Remove K Digits(删除K个数字)

删数算法(n 个数字中删除k个后,剩下的数组成最小的数字) 这是一个用C++写的简单算法,里面没用到什么高深的东西,就是基本的控制语句组成。 立即下载

Given a non-negative integer num represented as a string, remove k digits from the number so that the new number is the smallest possible.

Note:

The length of num is less than 10002 and will be ≥ k.
The given num does not contain any leading zero.
Example 1:

Input: num = “1432219”, k = 3
Output: “1219”
Explanation: Remove the three digits 4, 3, and 2 to form the new number 1219 which is the smallest.

Example 2:

Input: num = “10200”, k = 1
Output: “200”
Explanation: Remove the leading 1 and the number is 200. Note that the output must not contain leading zeroes.
Example 3:

Input: num = “10”, k = 2
Output: “0”
Explanation: Remove all the digits from the number and it is left with nothing which is 0.

给出一个string表示的数字,删掉其中的k位数,使得剩下的数字是最小的

思路:
情形1: 找降序的数字,
比如第一个例子1432219,43是讲序组合,所以删掉4,然后32是降序,所以删掉3,以此类推
k=3,删掉4,3,2后剩1219

情形2: 全是升序的情况,比如123456789,就从后面开始删除k位

如果是升序,就保存到结果

**情形3(出错点):
1234567890的情况,k=9,这时候发现降序(“90”),而此时结果中已保存“12345678”
这时候循环k次,直到删完所有的降序之后,再保存0到结果中

情形4:
删除后size为0,这时候需要返回“0”

情形5:
删除k个后结果数字开头是“0”,见第二个例子,这时候要循环删除开头的0

这里结果用StringBuilder来操作,当然也可以用Stack来操作

**另一个出错点:
用StringBuilder的delete时,要用result.length()而不是num.length(),因为删除操作后result的长度是变化的,如果错误地参照num就得不到应有的结果。

31题的Next Permutation也是找降序,可以联系起来看

    public String removeKdigits(String num, int k) {
        if (num.length() == k) {
            return "0";
        }
        
        StringBuilder result = new StringBuilder();
        
        
        for(int i = 0; i < num.length(); i++) {
            while (result.length() > 0 && 
                   result.charAt(result.length()-1) > num.charAt(i) &&
                   k > 0) {
                result.deleteCharAt(result.length()-1);
                k --;
            }
            result.append(num.charAt(i));
        }
        
        result.delete(result.length()-k, result.length());
        
        while (result.length() > 0 && result.charAt(0) == '0') {
            result.deleteCharAt(0);
        }
        
        if (result.length() == 0) {
            return "0";
        }
        return result.toString();
    }

还有一个方法,可以最后不用循环删除前面的"0":在append的时候,如果result为空,而且当前字符为’ 0’ ,则不添加到结果字符串中,这样就不会出现‘ 0 ’在首位的情况。
这种情况下,首位的’ 0 ’ 不会添加,也就是说如果是升序的情况,最后就不是删除后面的k位了,因为result的长度可能还达不到k,
这时只需要在result.length()大于0的情况下删除后面的k位,一旦result为空,就不再继续删。

    public String removeKdigits(String num, int k) {
        if(num.length() == k) return "0";
        
        StringBuilder result = new StringBuilder();
        
        for(int i = 0; i < num.length(); i++) {
            char ch = num.charAt(i);
            while(result.length() > 0 && k > 0 && ch < result.charAt(result.length() - 1)) {
                result.deleteCharAt(result.length() - 1);
                k --;
            }
            
            if(result.length() > 0 || ch != '0') result.append(ch);
        }
        
        while(result.length() > 0 && k > 0) {
            result.deleteCharAt(result.length() - 1);
            k --;
        }
        
        
        return result.length() == 0 ? "0" : result.toString();
    }
删数问题在(N个数字中,删除K个,使剩余的数字最小。) 在N个数字中,删除K个,使剩余的数字最小。 立即下载

相关推荐

FTPClient使用中,碰到SocketTimeoutException 坑

ftpclient设置soTimeout无效

u010379794的博客 1951

LeetCode题解:删除k个数字后的最小值(贪心算法)

删除k个数字后的最小值 题目:给出一个整数,从该整数中去掉k个整数,要求剩下的整数形成新的整数尽可能小,则该如何选取去掉的数字? 思路:把高位的数字降低,则对新整数的值影响最大 把高位的数字降低:把原整数的所有数字从左到右进行比较,如果发现某一位数字大于它右边的数字,那么在删除该数字后,必然会使该数位的值降低,因为右面比它小的数字顶替了它的位置 ...

your_棒棒糖的博客 3440

Visual Studio 2022 社区版安装指南:从下载到配置的完整流程

本文详细介绍了Visual Studio 2022社区版的完整安装与配置流程,包括系统要求检查、官方下载步骤、工作负载选择、安装位置配置等关键环节。作为微软推出的免费集成开发环境,VS2022社区版支持多种编程语言,适合个人开发者和小型团队使用。文章还提供了常见问题解决和性能优化技巧,帮助用户高效完成开发环境搭建。

weixin_28829339的博客 875

移掉K位数字

给定一个以字符串表示的非负整数num,移除这个数中的 k 位数字,使得剩下的数字最小。 注意: num 的长度小于 10002 且≥ k。 num 不会包含任何前导零。 示例 1 : 输入: num = "1432219", k = 3 输出: "1219" 解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。 示例 2 : 输入: num = "10200", k = 1 输出: "200" 解释: 移掉首位的 1 剩下的数字为 200. 注意输出不能有任何前导零。 ..

光英的记忆博客 950

我从华为身上学到的项目管理经验 -- 需求篇

记录这三年,关于项目管理上的一些心得体会 – 需求篇对于需求,我们可以根据不同的角色、理解拆分成三个过程:简单来说就是:需求分析原始需求、 需求拆分为系统需求、 需求实现为功能需求**需求分析**: 将客户需求 输出成 需求描述。 需求经理需要把 需求 转换成 客户能够接受的 初始需求 IR(Initial Requirement) 对于用户来说,我只管提 我的原始需求是

minminzhe520的博客 3万+

C#上位机通信层封装:西门子S7NetPlus库的优雅使用

支持S7-1200/1500(机架号0,槽号1)、S7-300/400(机架号/槽号需根据实际配置);支持位(Bit)、字节(Byte)、字(Word)、双字(DWord)、浮点数(Float/Double)等数据类型的读写;支持DB块、输入寄存器(I)、输出寄存器(Q)、内存寄存器(M)、定时器(T)、计数器(C)的操作;轻量无依赖,兼容.NET 5+。首先定义核心枚举和常量,统一规范参数类型,避免硬编码。/// 西门子PLC型号(对应不同的机架/槽号默认配置)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1085

贪心算法+实例:删掉K个数后最小的数字+leetcode402

图片来自:程序员小灰(微信公众号) 在求解最优化问题时通常在每个步骤都要面临多种选择。对于某些情况,使用动态规划算法来求最优解十分浪费时间空间复杂度,可以使用更简单高效的贪心算法。 贪心算法在每一步看起来都是当时最佳的选择。意思是,它总是做出局部最优的选择,希望该选择能导致全局最优。虽然贪心算法并不一定能求得最优解。 贪心算法建议通过一系列的步骤来构造问题的解,每一步对目前构...

qq249356520的博客 1395

【开发必备插件】iframe嵌套报“拒绝连接请求”的本地解决方法

关键词:iframe 拒绝连接、X-Frame-Options、Chrome 插件、前端调试、Allow X-Frame-Options前几天我在本地项目里调试一个第三方网站的嵌入页面时,遇到了一个非常经典的报错:xxx.com 拒绝了我们的连接请求。熟悉的老前端们一眼就知道——这是。但对于日常开发来说,我们经常需要在本地测试 iframe 嵌套外部页面(比如嵌第三方登录页、支付页、可视化报表系统等)。而线上站点配置了或DENY时,就会直接导致 iframe 加载失败。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1540

LeetCode 刷题系列 -- 402. 移掉 K 位数字

移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。移掉首位的 1 剩下的数字为 200. 注意输出不能有任何前导零。位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。从原数字移除所有的数字,剩余为空就是 0。num 仅由若干位数字(0 - 9)组成。本身之外,num 不含任何前导零。给你一个以字符串表示的非负整数。

qq_33775774的博客 540

【CAD】【手把手带你写一个DXF&JAVA解析框架】02——整理DXF元数据实体类,涵盖重要属性与对照组码

本文系统梳理了DXF文件解析中的核心元数据类,重点分析了Tables段(图层、块记录)、Blocks段和Entities段的关键数据结构。通过详细的组码说明和对照代码实现,阐述了图层定义(DXFLayer)、块记录(DXFBlockRecord)、应用程序标识(DXFAppId)等表对象的属性构成;同时解析了直线(DXFLine)、多段线(DXFLwPolyLine)、圆弧(DXFArc)、文字(DXFText)等实体类的几何特征与属性定义。文章还构建了顶点(Vertex)、基类(DXFEntity、DXF

Wonder ZH 267

热红外图像小目标检测算法综述

热红外小目标检测算法综述,着重介绍基于深度学习的小目标检测算法

Littro Innovations 4244

【leetcode-每日一题】贪心算法实现删除k个元素的最小值

题目 给出一个整数,从该整数中去掉k个数字,要求剩下的数字形成的新整数尽可能小。应该如何选取被去掉的数字?其中整数的长度大于或等于k,给出的整数的大小可以超过long类型的数字范围。 解题思路 把原整数的所有数字从左到右进行比较, 如果发现某一位数字大于它右面的数字,那么在删除该数字后,必然会使该数位的值降低, 因为右面比它小的数字顶替了它的位置。 所有代码均已上传github,有兴趣的同学可以看看 https://github.com/999bug 代码实现 package com.inter

AKA石头 531

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Leetcode 402. Remove K Digits 删除K个数字 解题报告

1 解题思想题目是这样的,有一个N为长的数字,用字符串来代替了,现在要求你将它删除K位,使得其得到的结果最小分析: 首先这是一个贪心问题,即我们可以将问题转化为,一个长度为N的数字里面,删除哪个数可以使得数变得最小: 那么如何删除呢? 1、因为数字开头不允许是0,当第二位是0的情况下下,这时候我们删除了第一位数,那么至少可以使数字小两个量级,而其他位置最多也就是小一个数量级,所以这种情况毫无疑

MebiuW的专栏 5613

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

深度学习工具包 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] 402. Remove K Digits 解题报告

题目链接:https://leetcode.com/problems/remove-k-digits/ Given a non-negative integer num represented as a string, remove k digits from the number so that the new number is the smallest possible. N

小榕流光的专栏 6522

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【小白爬Leetcode402】3.3 移掉K位数字 Remove K Digits

【小白爬Leetcode402】3.3 移掉K位数字 Remove K Digits题目中文描述思路一 不用栈的贪心算法小改进思路二 使用栈的贪心算法 Leetcode 402 medium\color{#FF6347}{medium}medium 点击进入原题链接:Leetcode 402 移掉K位数字 Remove K Digits 题目 Given a non-negative integer num represented as a string, remove k digits from t

weixin_41604040的博客 326

LeetCode-402.Remove K Digits

0.原题 Given a non-negative integer num represented as a string, remove k digits from the number so that the new number is the smallest possible. Note: The length of num is less than 10002 and will b...

qq_17753903的博客 268

Leetcode 402. Remove K Digits

题目链接:402. Remove K Digits 题目大意:给你一个数(用字符串表示),从这个数中最多删除k个数位,要使得删除后的数字最小 题目思路:本质上我们需要维护一个单调上升的序列,例如41,我们会删除掉4而不是1,因为如果前面的数大于后面的数,那么我们宁愿删掉前面的数,以保证结果更小,所以我们实际上需要做的就是维护一个单调上升的栈,碰到一个数则删掉栈内比当前元素大的,只不过限定了k的个数...

Nemaleswang的博客 270

LeetCode 402. Remove K Digits 移除k个数字

【题目描述】 题目链接:点击这里 【思路分析】 贪心规律: 算法思路:

脚踏实地,仰望星空 412

【Leetcode】402. Remove K Digits

题目链接:https://leetcode.com/contest/5/problems/remove-k-digits/题目: Given a non-negative integer num represented as a string, remove k digits from the number so that the new number is the smallest possib

业精于勤,荒于嬉 3470

[leetcode] 402. Remove K Digits

Description Given a non-negative integer num represented as a string, remove k digits from the number so that the new number is the smallest possible. Note: The length of num is less than 10002 and wi...

Learning from the mistakes 299

Leetode402. Remove K Digits

LeetCode402. Remove K Digits

bookman的博客 326

leetcode 402. Remove K Digits 、321. Create Maximum Number

402. Remove K Digits https://www.cnblogs.com/grandyang/p/5883736.html https://blog.csdn.net/fuxuemingzhu/article/details/81034522 https://blog.csdn.net/qq508618087/article/details/52584133 题目的要求是删...

weixin_30559481的博客 119

【LeetCode】 402. Remove K Digits 移掉K位数字(Medium)(JAVA)

【LeetCode】 402. Remove K Digits 移掉K位数字(Medium)(JAVA) 题目地址: https://leetcode.com/problems/remove-k-digits/ 题目描述: Given a non-negative integer num represented as a string, remove k digits from the number so that the new number is the smallest possible. Note:

qq_16927853的博客 126

LeetCode 402 Remove K Digits 题解

题意简述:给定一个有数字组成的字符串,要求从里面删去k个数字后剩下的数尽可能小,求最小值。 输入:一个数字组成的字符串num,要删去的数量k 输出:所得到的数的最小值 示例:对于字符串“1432219”,要删去3个数,可以删去第2、3、4位,剩下的“1219”是最小的。题解: 无论我们怎样操作,最终得出的数的位数是固定的(num的长度减去k),那么要让数尽可能小,就是要让高位的数字尽可能小。

MonoTali的博客 897

[LeetCode]Remove K Digits

[LeetCode]Remove K Digits

xmb24的博客 407
上一篇: leetcode 74. Search a 2D Matrix(二维数组中搜索元素)
下一篇: leetcode 202. Happy Number
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值