leetcode9:Next Permutation

C++排列问题全解析:从递归回溯到STL next_permutation实战 在算法与数据结构的学习中,排列问题是一个经典且基础的核心课题,它深刻体现了递归、回溯和迭代等核心编程思想。递归回溯法通过深度优先搜索(DFS)构建状态树,直观地展示了穷举所有可能性的过程,是理解算法本质的关键。而C++标准库(STL)中的`std::next_permutation`函数,则提供了一种基于字典序的高效迭代生成方案,极大地简化了代码并优化了性能。这两种方法共同构成了解决排列问题的核心技术路径,广泛应用于任务调度、路径规划、数据查询等需要穷举或有序枚举的场景。本文将以C++为语言环境,深入剖析递 阅读详情

Next Permutation 

题目链接:https://oj.leetcode.com/problems/next-permutation/

runtimes:17ms


一、问题

Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.

If such arrangement is not possible, it must rearrange it as the lowest possible order (ie, sorted in ascending order).

The replacement must be in-place, do not allocate extra memory.

Here are some examples. Inputs are in the left-hand column and its corresponding outputs are in the right-hand column.

1,2,3 → 1,3,2

3,2,1 → 1,2,3

1,1,5 → 1,5,1

二、分析

        什么是Next Permutation ?其实一开始看很难理解,但是后来看了STL源码剖析就明白了。next permutation 其实就是求序列的下一个字典排序,要求是上个排序要比下个排序要小,并且之间不存在其他排序序列。举个实例,比如序列abc,显然abc就是第一个字典排序序列,而abc的next permutation 是acb,为什么呢?因为以a为开头的序列还有acb,如果此时改换成b、c开头,与abc中间还有a开头的序列,因此确定a为下个序列的首位,那么剩下bc交换位置即可,就是acb;而acb的下个字典排序序列是以b开头,其中bac < bca,因此可得bac是下个字典排序序列,bca是bac的下个字典排序;而bca的下个字典排序序列以c开头,同样可得cab、cba两个序列。

        通过以上分析,我们就可以得到两点,其一,下个字典序列要和上个字典要有尽可能长的共同前缀,其二,从后面往前扫描进而改变,酱紫能使两个序列之间的差更小。举另外一个例子的推演过程,{0, 1, 2, 3, 4},其中红色代表这个序列到下个序列将要变化的部分。

       {0, 1, 2, 3,4}  →  {0, 1, 2, 4,3}  →  {0, 1, 3, 2,4}  →  {0, 1, 3, 4,2}  →  {0, 1, 4, 2,3}  →  {0, 1, 4, 3,2}  →  {0, 2, 1, 3,4}  → ……

       想知道具体变化步骤是什么?看小结呗~

三、小结

       设数组A为序列,共有n个元素:

       1、首先从后往前扫面,找到第一个A[i - 1] < A[i]的元素位置i;

       2、接着从后往前扫描,找到第一个A[j] > A[i - 1]的元素位置j,交换A[i - 1]和A[j],对A[i]到A[n - 1]之间的元素升序排列;

       3、重复1、2,直到序列为降序序列位置。

       ps:从题目可以看出,最后一个序列的下一个字典序列是第一个序列,即cba的下一个字典序列是abc。

四、实现

#include <algorithm>
class Solution {
public:
    void nextPermutation(vector<int> &num) {
        bool flag = false;
        for(int i = num.size() - 1; i > 0; i--)
        {
            if(num[i - 1] < num[i])
            {
                flag = true;
                for(int j = num.size() - 1; j > i - 1; j--)
                {
                    if(num[i - 1] < num[j])
                    {
                        int temp = num[i - 1];
                        num[i - 1] = num[j];
                        num[j] = temp;
                        break;
                    }
                }
                sort(num.begin() + i, num.end());
                //i = num.size();
                break;
            }
        }
        if(!flag)
        {
            for(int i = 0, j = num.size() - 1; i < j; i++, j--)
            {
                int temp = num[j];
                num[j] = num[i];
                num[i] = temp;
            }
        }
    }
};



五、三思

        get新技能,可以了解一下STL中Next Permutation 的实现。推荐一篇不错的文章,不过还是没有我讲的清楚啦~

        原文链接:http://blog.youkuaiyun.com/m6830098/article/details/17291259

       以下也给出全排列的实现:

#include<iostream>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;

struct TreeNode {
	int val;
	TreeNode *left;
	TreeNode *right;
	TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

class Solution {
public:
	void nextPermutation(vector<int> &num) {
		for (int i = num.size() - 1; i > 0; i--)
		{
			if (num[i - 1] < num[i])
			{
				for (int j = num.size() - 1; j > i - 1; j--)
				{
					if (num[i - 1] < num[j])
					{
						int temp = num[i - 1];
						num[i - 1] = num[j];
						num[j] = temp;
						break;
					}
				}
				sort(num.begin() + i, num.end());
				i = num.size();
				for (int k = 0; k < num.size(); k++)
				{
					cout << num[k] << " ";
				}
				cout << endl;
			}
		}
	}
};

int main(int argc, char **argv[])
{
	vector <int> p = {0, 1, 2, 3, 4};
	Solution s;
	s.nextPermutation(p);
	return 0;
}



详解从无人机倾斜实景三维建模→模型修复→成果网络发布展示分享全流程 1、倾斜实景三维建模软件:CC(Smart3D)软件2、实景三维模型网页在线发布展示、分享平台:图新地球网页端(Wish3D·Earth平台)图新地球网页端(Wish3D·Earth平台)是基于 WebGL技术研发的国产实景三维模型Web端发布展示平台,可实现TB级倾斜实景三维数据快速加载,支持多种格式的三维模型,如OSGB实景模型、OBJ人工模型、SKP人工模型、RVT格式BIM模型等,同时支持模型单体化、三维模型测量分析、水面特效、日照分析等特殊效果呈现,此外也可以根据您的需要进行本地化部署级功能定制。 阅读详情

相关推荐

得利捷datalogic扫码枪调试说明

针对得利捷datalogic扫码枪快速调试并,可以根据详细步骤设置扫码枪,并配有tcp调试助手辅以验证,以达到快速调试完成扫码枪的工作。

Conway510的博客 1万+

next_permutation(排列组合)函数的用法

关于该函数的用法,不妨先看下这道题题目描述 一天ZJ看到小明竟然排序学的比自己还牛,于是就出了一道题来难为小明,来证明自己排序学的比小明更牛。题目就是有一个数n(0&lt;n&lt;10),写出1到n的全排列,这时小明有点囧了,,,聪明的你能帮小明解围吗?输入 第一行输入一个数N(0&lt;N&lt;10),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个整数x(0&lt;x&...

FK103的专栏 3292

Ubuntu 24.04.3 LTS 安装 OpenClaw 图文版

OpenClow安装指南

qq_17204557的博客 2551

【C++_STL_next_permutation】全排列讲解

关于next_permutation,这是一个求排列的函数,仅仅只知道它是一个求排列的函数是不够的,我们需要知道它的工作原理。 next_permutation属于C++里面的STL的内容。 可以参考这个全排列的资料: 1.https://zhidao.baidu.com/question/2012821195157864068.html 2.http://blog.youkuaiyun.com/

IronCarrot's Blog 665

计算蛋白质结构中氨基酸之间的方向和方位

方向 (Direction):通过相邻氨基酸的 CαCα​ 原子坐标差值,得到方向向量,描述两个氨基酸之间的几何方向。方位 (Orientation):可以通过二面角(如 Psi)来表示相邻氨基酸之间的旋转关系,或者通过局部坐标系(基于 NN、CαCα​、CC 原子)描述残基的空间取向。这些计算是研究蛋白质结构动力学、折叠过程、以及相互作用的基础,尤其是在使用机器学习和深度学习模型进行蛋白质结构预测时,这些几何信息有助于更好地捕捉残基之间的空间关系。

qq_27390023的博客 1679

Vue3+uniapp开发必备:5分钟搞定unplugin-auto-import自动导入配置(附常见报错解决)

本文详细介绍了在Vue3+uniapp项目中配置unplugin-auto-import插件实现自动导入的方法。通过该配置,开发者无需手动导入ref、onLoad等常用API,可显著提升编码效率和团队协作规范性。文章提供了从安装、TypeScript集成到高级用法的完整指南,并附带了常见报错的解决方案。

weixin_29008805的博客 959

全排列next_permutation()的用法

1.std::next_permutation函数原型 template class BidirectionalIterator>   bool next_permutation (BidirectionalIterator first, BidirectionalIterator last );   template class BidirectionalIterator, class

*乘号的笔记本 1291

【2021最新版】Dubbo面试题总结(40道题含答案解析)

文章目录1、为什么要用Dubbo?2、Dubbo的整体架构设计有哪些分层?3、默认使用的是什么通信框架,还有别的选择吗?4、服务调用是阻塞的吗?5、一般使用什么注册中心?还有别的选择吗?6、默认使用什么序列化框架,你知道的还有哪些?7、服务提供者能实现失效踢出是什么原理?8、服务上线怎么不影响旧版本?9、如何解决服务调用链过长的问题?10、说说核心的配置有哪些?11、Dubbo推荐用什么协议?12、同一个服务多个注册的情况下可以直连某一个服务吗?13、画一画服务注册与发现的流程图?14、Dubbo集群容错有

程序媛小琬的博客 1万+

next_permutation的思想和用法

#include #include using namespace std; int main(){ int a[4]={1,2,3,4}; do{ cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<" "<<a[3]<<endl; } while(next_permutation(a,a+4)); system("pause"); } 该段代码意思为求1,2,

HyJoker的博客 8301

Android/AutoMotive 多用户文件操作与权限管理

本文深入探讨了Android/Automotive多用户系统的文件操作与权限管理机制。文章阐述了多用户隔离与共享的核心原理,重点介绍了如何使用adb指令精准管理不同用户的应用与数据,并提供了在Android Automotive车载场景下实现安全跨用户数据共享与权限控制的最佳实践。

weixin_29214691的博客 162

【自动驾驶】汽车智能驾驶计算芯片

本文介绍汽车智能驾驶计算芯片的软硬件要求、 可靠性和安全性要求、 性能要求,和相应的试验方法。除了用于汽车智能驾驶, 其他领域的计算芯片可参照执行。

Mr.Cssust的博客 2631

生成排列(next_permutation(a, a + n))

枚举按字典序最小排列开始,不停调用“求下一个排列 ”的方法,STL中提供了一个next_permutation.#include #include using namespace std; int main() { int n, p[10]; scanf("%d", &n); for(int i = 0; i < n; i++) scanf("%d", &p[i]); sort(p

shofe的学习随记 2852

Uncaught ReferenceError: process is not defined

这个错误 Uncaught ReferenceError: process is not defined 通常出现在浏览器环境中,因为 process 是 Node.js 环境的内置对象,并不是浏览器原生支持的。因此,浏览器无法识别 process,导致该错误。在App.vue中加上以下代码就能够有效解决。

猿小白的博客 1740

LeetCode:60. Permutation Sequence,n全排列的第k个子列

LeetCode:60. Permutation Sequence,n全排列的第k个子列 : 题目: LeetCode:60. Permutation Sequence 描述: The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of the perm...

dbb191379的博客 226

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jre9下载 jdk9

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

LeetCode 31. Next Permutation

题目来源:https://leetcode.com/problems/next-permutation/ 问题描述 31.Next Permutation Medium Implementnext permutation, which rearranges numbers into the lexicographically next greater permutation of nu...

da_kao_la的博客 228

深度学习工具包 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&#39;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(&#39;DeepLearnToolbox&#39;));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(&#39;state&#39;,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&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,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 = &#39;sigm&#39;;%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, &#39;Too big error&#39;);```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(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;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)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;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, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% 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&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 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, &#39;Too big error&#39;);```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(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % 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, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);%% 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(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

C++STL之next_permutation使用

排列

阿正的梦工坊 731

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

[Leetcode] Next Permutation

Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is not possible, it must rearrange it as the lowest possible o...

weixin_33842304的博客 85

LeetCode C++ 31. Next Permutation【Array】中等

Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is not possible, it must rearrange it as the lowest possible order (ie, sorted in ascending order). The replacement mus

memcpy0的博客 458

LeetCode 31 . Next Permutation的理解

LeetCode 讨论区中有一种解法看上去比较清晰,但是一开始不是太容易理解,分享一下自己的理解. 完成这道题分成3部分: 1)找到应该增大的位置i 2)将nums[i] 替换成一个比较大的数 nums[j] 3)将[i+1,末尾]的数都翻转一次 感性的认识:next permutation 是要求 比当前这个数 稍微大一点点点的 那个数 ,那我们肯定是让 后面的位 增大, 比如 123...

sth的博客 324

LeetCode:60. Permutation Sequence,全排列的第n个子列

LeetCode:60. Permutation Sequence,n全排列的第k个子列 : 题目: LeetCode: 60. Permutation Sequence 描述: The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of the pe

yelin's namespace 414

python next permutation_[Leetcode][Python]31: Next Permutation

# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com'31: Next Permutationhttps://oj.leetcode.com/problems/next-permutation/Implement next permutation, which rearranges numbers into the lexicogr...

weixin_30073141的博客 157

python next permutation_[LeetCode]题解(python):031-Next Permutation

题目来源https://leetcode.com/problems/next-permutation/Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possib...

weixin_42401137的博客 170

leetcode:Next Permutation

原文地址:http://www.cnblogs.com/easonliu/p/3632442.html Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is no

Rainloving的专栏 505

LeetCode Next Permutation

Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as the lowest possible ord

Coding for Dreams 1657

leetcode 60. Permutation Sequence

康托公式 全排列

Cherryuuuu 843

【一天一道LeetCode】#60. Permutation Sequence.

一天一道LeetCode系列(一)题目 The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of the permutations in order, We get the following sequence (ie, for n = 3):

ZeeCoder 3885
上一篇: leetcode8:Factorial Trailing Zeroes
下一篇: leetcode10:Distinct Subsequences
BeLeaderOfMyLife
博客等级 码龄15年 36粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值