Leetcode刷题笔记---Array部分

Leetcode刷题笔记-array 723.Candy Crush class Solution(object): def candyCrush(self, board): # 只有横着或者竖着连续3个才可以消去。 # 把满足消去的设置为负数,比如2设置为-2,最后再一起消去 r, c = len(board), len(board[0]) fo... 阅读详情

Leetcode刷题笔记

Array

  1. Remove Element

作用,给定一个数组,删除数组中的某一个值,并在不开辟额外的内存空间的条件下做到,即空间复杂度是O(1)。

思路,两个指针,一个快,一个慢。快的那个遍历一遍整个数组,慢的那个指针只有在不相等的时候往前走,在遇到相等时就不往前走。

核心代码:i是快指针,每次都加1;res是慢指针,只有在不相等时就把当前i索引的值更新到res的位置,然后再对res进行加1操作。

public int removeElement(int[] nums, int val) {
        int res = 0;
        for(int i=0; i<nums.length; i++) {
            if(nums[i] != val) {
                nums[res] = nums[i];
                res++;
            }
        }
        return res;
}
  1. Remove Duplicates from Sorted Array

作用,给定一个排好序的数组,删除数组中的重复数字,使其变成不重复的。

思路,依然是使用Two points法,一个快指针一个慢指针。一个快指针用于遍历整个数组,慢指针用于记录下一个不重复的数字的位置。通过比较前一个和现在的这个数是否相等,如果相等则无操作,如果不相等则将快指针对应的数字复制给慢指针对应数字的位置。并且慢指针加1,用于存储下一个不重复数字的位置。

核心代码:小trick,i从1开始,比较i和其前一个的值,这样就不会造成越界。

public int removeDuplicates(int[] nums) {
        int res=1;
        for(int i=1; i<nums.length; i++) {
            if(nums[i-1] != nums[i]) {
                nums[res] = nums[i];
                res++;
            }
        }
        return res;
    }
  1. Remove Duplicates from Sorted Array II

作用:给定一个排好序的数组,使得其中的重复元素不超过2个

思路,与之前的一样,依然是Two points法

public int removeDuplicates(int[] nums) {
        int res = 2;
        for(int i=2; i<nums.length; i++) {
            if(nums[i] != nums[res - 2]) {
                nums[res] = nums[i];
                res++;
            }
        }
        return res;
    }

res之前的数是保留数,res所在的位置是带插入的数。因此此处判断的是nums[i]!=nums[res-2]

res之前的全都是符合要求的数字,如果res-2的值还和后面的值相等说明就重复啦,不等的话,那就继续添加就好啦。

277. Find the Celebrity

本题是付费的,题意如下:在一个聚会里,可能会有名人,什么是名人呢?首先如果有只可能有一个,并且所有人都认识他,他却谁都不认识。一共有n个人,按照从0到0-1排序。给了一个帮助函数 bool knows(a, b) 可以用于告诉你a是否认识b。如果认识则返回true否则返回false。

你需要完成函数int findCelebrity(n), 返回名人的index,如果没有名人则返回-1。

思路:

如果a认识b,那个a肯定不是名人。如果a不认识b,那么b肯定不是名人。这样比较下来一定能排除掉n-1个。最后再按照名人的定义核对一下,即他不认识所有人,且所有人都认识他,注意在比较的时候名人不可以和自己比较。

public int findCelebrity(int n) {
    int celebrity = 0;
    for(int i=1; i<n;i++) {
        if(knows(celebrity, i)) {
            celebrity = i;
        }
    }
    
    for(int i=0; i<n; i++) {
        if(celebrity != i && knows(celebrity, i)){
            return -1;
        }
        if(celebrity != i && !knows(i, celebrity)){
            return -1;
        }
    }
}
刷题笔记:力扣第56、57题(数组区间操作) 本文探讨了力扣第56题和第57题的区间合并与插入算法优化。对于第56题,初始采用标记数组法时间复杂度较高(O(n*10^4)),改进后采用先排序再遍历的方法,时间复杂度降至O(nlogn)。进一步优化通过使用栈内存变量tmp代替堆内存访问,以及局部变量resTop减少指针解引用,显著提升运行速度。第57题作为变种,采用类似思路处理插入区间:先跳过左侧不重叠区间,合并重叠区间,最后处理右侧剩余区间,时间复杂度O(n)。文章强调了边界条件处理和数组越界防护的重要性,建议优先使用栈内存操作以提高性能。优化后的算法 阅读详情

相关推荐

leetcode刷题(一)

leetcode刷题总结 1.TWO SUM 题目描述:Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice

weixin_46983328的博客 422

力扣(LeetCode)刷题,简单+中等题(第35期)

力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。

不脱发的程序猿 3万+

C++力扣刷题实战:STL技巧、算法模板与工程化调试指南

在算法与数据结构的学习和面试准备中,C++因其高性能和丰富的标准模板库(STL)而成为许多开发者的首选。理解STL容器(如vector、map、unordered_map)的内部原理与适用场景,是编写高效代码的基础。例如,map基于红黑树实现有序操作,而unordered_map则提供平均O(1)的哈希查找,选择哪种取决于对数据顺序和性能的需求。掌握这些核心原理,能帮助开发者在解决数组、字符串、链表等问题时,灵活运用双指针、滑动窗口、回溯剪枝和动态规划等经典算法模板,从而显著提升解题效率和代码质量。在实际工

weixin_34295316的博客 469

【LeetCode刷题】LeetCode 题解汇总

机器感知 一个专注于SLAM、机器视觉、Linux 等相关技术文章分享的公众号 前言 现如今,对于技术人员(软开、算法等)求职过程中笔试都是必不可少的(免笔试的除外,大部分人都需要笔试),而笔试一般组成都是选择、填空、简答题、编程题(这部分很重要),所以刷题是必不可少的;对于应届生求职来说更是需要疯狂的刷题,因为平时都有自己的科研任务,但是个人还是建议刷题应该循序渐进的,提前准备,...

公众号『机器感知』 1028

SYSU-MM01数据集评估避坑指南:从RGB/IR图像理解到Python评估脚本调优

本文详细解析了SYSU-MM01数据集在跨模态行人重识别(ReID)评估中的关键技巧与常见陷阱。从RGB/IR图像理解到Python评估脚本优化,提供了数据评估模式选择、single-shot/multi-shot差异分析、特征文件处理规范等实用指南,帮助研究者避开指标异常问题,提升评估效率与准确性。

weixin_29044713的博客 196

动态数据脱敏技术分析

在当前国内信息安全热潮中,数据脱敏作为数据安全的重要一环得到了业界的认可与重视。早在2012年,数据脱敏首次作为一个单独的魔力象限由Gartner发布,Gartner在2014年又提出了:按照数据使用场景,将数据脱敏分为静态数据脱敏(Static data masking-SDM )与动态数据脱敏(Dynamic data masking-DDM )。 可能有人望文生义,认为动态数据脱敏一定比静态数据脱敏高级。非也非也,静态or动态,取决于脱敏的使用场景,主要是以使用场景为由来选择合适的数据脱敏的模式。 本

美创科技的博客 4676

Leetcode 刷题日记(Day1)— Array

之前有陆续刷过部分的 leetcode 题目,但为了春招做准备,决定重新按序刷一遍,也做好总结的工作,方便复习。 参考的刷题顺序是 Leetcode 分类顺序表第二版 ,有一定的参考价值。 LeetCode c++ 提速小技巧:关闭流同步,效果极好。 static const auto speedup = []() { std::ios::sync_with_stdio(false...

Schnee-Cy的博客 334

5分钟搞懂基因组规模代谢网络(GSMM):从数据库选择到模型构建全流程

本文详细解析基因组规模代谢网络(GSMM)构建的全流程,从数据库选择到模型优化。重点介绍MetaCyc、BiGG等主流数据库的黄金三角评估法则,对比自上而下与自下而上两种建模方法,并提供模型修剪、仿真优化的实用技巧与避坑指南,帮助研究者高效构建精准代谢网络模型。

weixin_30872157的博客 138

leetcode刷题mark(随时更新)

为了提高code能力,从本月15号开启了了leetcode刷题经历,相关program记录在github中。

ds1231h的博客 624

Datawhale~数据挖掘实践之序列问题处理~天池·资金流入流出预测-挑战Baseline~Day01~数据探索与分析

写在前面✍ 本系列笔记基于天池平台上“资金流入流出预测-挑战Baseline”学习赛,记录如何完整的打一次数据挖掘类比赛。同时,该比赛属于序列建模问题,希望学习完成这个任务,可以对序列问题的处理有一定的独立思考能力和实践操作能力,可以将所学理论,用编码的形式和实际的问题得到深入。 第一篇,EDA Content: 初步了解赛题及数据 1.1 任务 1.2 用户基本信息数据 1.3 用户申购赎回数据 1.4 收益率表 1.5 银行间拆借利率表 1.6 提交格式 1.7 评分指标 EDA 1 初.

小卜妞的博客 2358

尝试使用CubeMX做stm32开发之九:SYS配置

参考《STM32中文参考手册_V10》,研究CubeMX中有关SYS的配置

Forster-C的博客 9421

leetcode热题HOT100汇总——java题解已完结撒花

为了学习本文捋顺leetcode热题HOT100的汇总 方便自己秋招刷题 仅作刷题笔记使用 感兴趣的小伙伴点一个赞吧。

qq_41810415的博客 9412

麒麟V10 SP1系统下编译linuxdeployqt并打包Qt 5.15.2程序完整指南

麒麟V10 SP1系统下编译linuxdeployqt并打包Qt 5.15.2程序完整指南

ChenJin_2的博客 276

【leetcode】高频题目整理_数组篇( High Frequency Problems, Array )

数组篇-132题(Array, 132 problems) 截止至今LeetCode题目总量已经有`1582题`,平均估计每年增长`300题`左右,大部分人肯定是`刷不完的`,所以得有选择地刷LeetCode。 一种公认的刷题策略是`按类别刷题`,可是每个类别也有许多题,在有限的时间里`到底该刷哪些题呢`?个人根据`LeetCode官方`给出的每个题目的`出现频率`,整理并收录了每个类别里`高频出现`的题目,对于官方统计频率太低的题目,不予收录,最终得到了这个高频题目表格。

Liber-coder的博客 6152

UCIE Specification详解(三)

Protocol Layer(协议层)以及Die-to-Die Adapter

Crazzy_M的博客 1767

深度学习实战107-基于Qwen3+GraphRAG+Agent的智能文档管理系统:精准问答与决策支持

在当今信息爆炸的时代,企业面临海量文档的管理与利用挑战。传统文档管理系统虽然提供了存储和检索功能,但缺乏对文档内容的深度理解与分析能力,更难以实现基于知识的决策支持。基于多模态大模型Qwen3、GraphRAG技术与Agent框架构建的智能文档管理系统,能够突破传统限制,实现文档内容的精准解析、知识图谱的自动构建、复杂关系的推理分析以及决策建议的生成,为企业知识管理带来革命性变革。

微学AI的博客 866

刷题笔记:力扣第39、40题(回溯算法)

本文总结了力扣第39题和第40题组合总和问题的回溯算法解法。 第39题要求找出所有和为target的组合,允许重复使用同一元素。解题思路: 使用回溯算法模板,通过递归进行深度优先搜索 关键点包括:全局变量存储路径和结果、终止条件判断、选择和撤销选择操作 优化方法:先排序数组,在递归中提前剪枝(sum+candidates[i]>target时break) 第40题在39题基础上增加两个限制: 每个元素只能使用一次(递归传i+1而非i) 组合不能重复(需排序后在递归中跳过同层重复元素) 文章详细分析了回

hanlin03的博客 350

温度PID控制PLC程序

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

力扣刷题日常(1-2)

文章摘要 本文分享了力扣刷题笔记,解析了两道经典题目: 两数之和:通过暴力解法(O(n²))和哈希表优化(O(n))两种方法,演示如何用空间换时间提升效率 两数相加:将链表数字相加问题比喻为"路标数字相加",需要处理链表遍历、进位计算等核心逻辑 两题均包含详细思路分析、复杂度评估和代码实现,重点讲解了哈希表ContainsKey方法的应用,展示了从暴力解到最优解的完整思考过程。

NFA晨曦的个人博客 1245

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

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

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

LeetCode力扣刷题——妙用数据结构

Sequence Containers:维持顺序的容器。Container Adaptors:基于其它容器实现的数据结构。Associative Containers:实现了排好序的数据结构。Unordered Associative Containers,数据结构,C++ STL,数组,栈和队列,优先队列,双端队列,哈希表,多重集合和映射,前缀和与积分图。在刷题时,我们几乎一定会用到各种数据结构来辅助我们解决问题,因此我们必须熟悉各种 数据结构的特点。C++ STL 提供的数据结构包括

指北针_N的博客 1504

深度学习工具包 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 刷题笔记 (rotated sorted Array) (binary search)

Leetcode 刷题笔记 binary search(rotated sorted Array)idea:(rotated sorted Array) 81. Search in Rotated Sorted Array II (medium)(rotated sorted Array) 154. Find Minimum in Rotated Sorted Array II (hard)(rotated sorted Array) 33. Search in Rotated Sorted Array(m

Gowott的博客 423

Leetcode 力扣动态规划笔记 部分简单题算法总结CPP

53. Maximum subarray Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. 在一个整数数组里找到和最大的部分数组并返回和。 简单题。这道题不完全算动态规划,可以...

mschessy的博客 451

2024年7月LeetCode高效刷题指南:策略、工具与实战验证

算法与数据结构是计算机科学的核心基础,其原理在于通过特定的数据组织和操作逻辑,高效解决计算问题。掌握它们对于提升编程思维、优化软件性能具有重要技术价值,尤其在求职面试、技术竞赛和日常开发等应用场景中不可或缺。本文聚焦于LeetCode平台,结合动态规划、二叉树等高频考点,提供一套系统性的刷题策略与实战验证方法,帮助开发者构建扎实的算法基础,并有效应对技术面试挑战。

weixin_33858336的博客 311

[力扣04]Array

首先用两个数组,max_left [i] 代表第 i 列左边最高的墙的高度,max_right[i] 代表第 i 列右边最高的墙的高度。(一定要注意下,第 i 列左(右)边最高的墙,是不包括自身的,和 leetcode 上边的讲的有些不同)它后边的墙的右边的最高高度和它后边的墙的高度选一个较大的,就是当前列右边最高的墙了。它前边的墙的左边的最高高度和它前边的墙的高度选一个较大的,就是当前列左边最高的墙了。//如果左指针的高度比右指针的高度小,就不断的移动左指针,否则移动右指针。这一题也是对撞指针的思路。

qwrasdzcc的博客 156

LeetCode-Easy部分中标签为Array的所有题目

LeetCode中的tag为Array的,easy部分的所有题目标题。

相信相信的力量 1504

10.24-10.28 leetcode基于python刷题

10.24-10.28 leetcode基于python刷题 20. Valid Parentheses(Easy) 3. Longest Substring Without Repeating Characters(Medium) 27. Remove Element(Easy) 16. 3Sum Closest(Medium) 58. Length of Last Word(Easy)5. Longest Palindromic Substring(Medium) 6. Zigzag Conversi

CR1820的博客 364
上一篇: 数据结构与算法第一期:栈,链表,队列
下一篇: 设计模式专辑
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值