class Solution {
public String reverseOnlyLetters(String S) {
Stack<Character> s=new Stack<Character>();
int len=S.length();
for (int i = 0; i <len ; i++) {
if((S.charAt(i)>64&&S.charAt(i)<91)||(S.charAt(i)>96&&S.charAt(i)<123))
s.push(S.charAt(i));
}
StringBuilder sb=new StringBuilder();
for (int i = 0; i <len ; i++) {
if((S.charAt(i)>64&&S.charAt(i)<91)||(S.charAt(i)>96&&S.charAt(i)<123))
sb.append(s.pop());
else sb.append(S.charAt(i));
}
return sb.toString();
}
}
相关推荐
实战指南:如何用Kamailio+FreeSWITCH搭建高并发企业通信系统(附配置模板)
本文提供了一份实战指南,详细介绍了如何利用Kamailio与FreeSWITCH构建高并发企业通信系统。通过将Kamailio作为高性能SIP信令平面处理路由与负载均衡,FreeSWITCH作为媒体与应用平面负责通话与业务逻辑,实现信令与媒体分离的电信级架构。文章深入解析了架构设计、核心配置、集群部署与性能优化,并附有配置模板,旨在帮助企业构建可水平扩展、高可用的通信解决方案。
给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。
给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1: 输入:“ab-cd” 输出:“dc-ba” 示例 2: 输入:“a-bC-dEf-ghIj” 输出:“j-Ih-gfE-dCba” 示例 3: 输入:“Test1ng-Leet=code-Q!” 输出:“Qedo1ct-eeLg=ntse-T!” 来源:力扣(LeetCode) ...
【2025CVPR】基于脉冲神经网络的能效目标检测模型:Multi-scale Spiking Detector(MSD)深度解析
本文提出了一种创新的多尺度脉冲神经网络目标检测器(MSD),通过生物启发的ONNB模块和MSDF框架实现了高效准确的目标检测。该模型采用端到端直接训练策略,在COCO数据集上达到62.0%mAP的精度,同时仅需7.8M参数和6.43mJ能耗,较传统方法提升2.8%精度并降低82.9%能耗。实验验证了其在小目标检测和事件数据处理的优越性,为边缘计算应用提供了新范式。
LeetCode:仅仅反转字母
题目描述 给定一个字符串S,返回“反转后的”字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 输入:"ab-cd!" 输出:"dc-ba!" 思路 S.charAt(i)表示字符串S从左开始的字符,S.charAt(j)表示字符串S从右开始的字符 创建一个StringBuffer对象ch 情况1:如果左边的字符是字母 ①右边的字符也是字母,那么将右边的字母拼接到ch中; ②右边的字符不是字母,那么j--,找到一个字母拼接到ch中,j-- 情况2:左边的字符不...
来自工业界的知识库 RAG 服务(二),RagFlow 源码全流程深度解析
前面介绍过有道 QAnything 源码解析,通过深入了解工业界的知识库 RAG 服务,得到了不少调优 RAG 服务的新想法。因此本次趁热打铁,额外花费一点时间,深入研究了另一个火热的开源 RAG 服务RagFlow的完整实现流程,希望同样有所收获。首先依旧可以先从框架图入手,与常规的 RAG 架构进行一些比较可以看到右侧知识库被明显放大,同时最右侧详细介绍了文件解析的各种手段,比如OCR等,这些在常规的 RAG 中可能会作为一个不起眼的。
RK3588开发板实战:从零开始移植Ubuntu 24.04(讯为SDK版)
本文详细介绍了如何在RK3588开发板上从零开始移植Ubuntu 24.04系统(讯为SDK版),涵盖开发环境准备、SDK解析、根文件系统定制、驱动适配、系统集成与烧录等全流程。通过实战案例,帮助开发者快速掌握RK3588开发板的系统移植技巧,适用于嵌入式开发与定制化Linux系统构建。
917. 仅仅反转字母 C++ 两种写法
给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 双指针,一个从前往后记录位置,一个从后往前记录字母。 string reverseOnlyLetters(string S) { int i = 0, j = S.size() - 1; string new_string = ""; while (i < S.size()) ...
操作系统权限提升(十五)之绕过UAC提权-基于白名单DLL劫持绕过UAC提权
先将操作在本地执行,使用procmon进行监控,过滤DLL和 NAME NOT FOUND ,寻找可以替换的DLL文件,注意文件的权限是否可以在目录写入,可以看到在C盘的tools目录的文件中有一个srrstr.dll被调用,但是没有加载,我们生成恶意的DLL文件看看是否可以被劫持。在Windows中许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库文件,即dll文件,放置于系统中,个人理解类似于我们编程中引入的模块。将我们生成的DLL文件改名为我们要劫持的DLL文件名。
小白刷题之字符反转
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab" 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 法一:substr()函数 substr有2种用法: 假设:...
华为OD技术面真题 - Python开发 - 2
汇总华为OD技术面八股Python八股,高频技术真题并提供详细解答。
出现 RuntimeError: adaptive_avg_pool2d_backward_cuda does not have a deterministic implementation的解决方法
大致就是在执行主函数的训练函数中,在反向传播这一块出现了问题。解决方法就是添加如下代码块。找到提示bug的行数。
【字符串1】---反转字母&&反转字符串II && 反转字符串III&&倒置字符串
字符串题目1. 仅仅反转字母题目描述题目分析C++代码2. 反转字符串II题目描述题目分析C++代码3. 反转字符串中的单词III题目描述题目分析C++代码 1. 仅仅反转字母 题目描述 给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1: 输入:“ab-cd” 输出:“dc-ba” https://leetcode-cn.com/problems/reverse-only-letters/submissions/ 题目分析 用双指针进行
7、布尔网络的基础定义
本文介绍了布尔网络的基础定义及其在系统生物学中的应用。布尔网络是一种描述复杂系统动态行为的数学模型,由布尔变量和布尔函数组成,能够模拟生物系统中基因调控、信号传导和细胞代谢等过程。文章详细阐述了布尔网络的基本结构、动力学特征(如状态转移图和吸引子),以及其在生物建模中的重要价值,并探讨了优化和简化技术(如Backward Boolean Equivalence)如何提升其计算效率。
917. 仅仅反转字母+
定义begin为0为第一个字符的下标,使用s.size()获取字符串的长度,长度减一为最后一个字符的下标,假设字符串长度为3,那么为0,1,2,其中2为最后一个字符的数组下标,即长度减一为最后一个字符的下标。
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
【String】917. 仅仅反转字母
使用双指针,一个指针指向s的开始,一个指向s的末尾,同时遍历即可。
深度学习工具包 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');```[](https://bitdeli.com/free "Bitdeli Badge")
【力扣】917. 仅仅反转字母
对称操作类问题左指针left指向字符串开头,右指针right指向字符串末尾通过内层while循环,使得左指针left和右指针right指向的字符都是英文字母。随后交换两指针指向字符的位置交换操作结束后,要让左右指针各移动一步,进而找下一组字母最后,返回处理后的字符串。
【力扣题解】917. 仅仅反转字母
力扣题解:917. 仅仅反转字母
Leetcode 917.仅仅反转字母(Reverse Only Letters)
Leetcode 917.仅仅反转字母 1 题目描述(Leetcode题目链接) 给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 输入:"ab-cd" 输出:"dc-ba" 输入:"a-bC-dEf-ghIj" 输出:"j-Ih-gfE-dCba" 输入:"Test1ng-Leet=code-Q!" 输出:"Qedo1ct-eeL...
力扣(每日一题)—— 917. 仅仅反转字母
力扣(每日一题)—— 917. 仅仅反转字母 每日一道,养成刷题好习惯!
leetcode - 917. 仅仅反转字母
leetcode - 917. 仅仅反转字母 题目 代码 利用双指针: #include <iostream> #include <string> using namespace std; string reverseOnlyLetters(string s) { int n = s.size(); int left = 0, right = n-1; char ch; while(left < right){ if(isalpha(s[left]) &
python-leetcode-917. 仅仅反转字母
可以使用双指针方法来解决这个问题。
917. 仅仅反转字母 ( 双指针 )
LeetCode:917. 仅仅反转字母 观察得出,除去非字母的字符,字母的字符其实就是左右两边相互调转了位置,所以定量两个变量 a, b,当同时指向字母的时候,交换两个指针的内容,然后同时a++,b-- 向前一位继续比较。 AC Code public class Solution { public string ReverseOnlyLetters(string s) { int a = 0, b = s.Length - 1;
LeetCode 917 仅仅反转字母 简单
仅仅反转字母
leetcode(String)--917. 仅仅反转字母
leetcode(String)–917. 仅仅反转字母 1,题目: 2,思路: 方法一:双指针: 这个是普通的方法,就是用双指针来进行转换。 方法二:用到了StringBuilder: 这里用到了StringBuilder,但是里面的实质还是用了双指针的实质。 方法三:反转指针: (1)一个接一个输出 s 的所有字符。当遇到一个字母时,我们希望找到逆序遍历字符串的下一个字母。 (2)所以我们这么做:维护一个指针 j 从后往前遍历字符串,当需要字母时就使用它。 3,代码: 方法一:双指针: class S
leetcode 917. 仅仅反转字母
我们比较指针所指的字符,如果两个指针都指向英文字母,则交换它们的位置,并将指针向中间移动一步。判断节点数据是否都是字母字符,如果是就交换,如果不是就将不是的向后移动,直到满足条件为止。如果一个指针指向非英文字母,则将该指针向中间移动一步。将字符串转换为字节数组,然后使用双指针i和j分别指向字符串的开头和末尾。输入:s = "Test1ng-Leet=code-Q!输出:"Qedo1ct-eeLg=ntse-T!输入:s = "a-bC-dEf-ghIj"输出:"j-Ih-gfE-dCba"
力扣之917. 仅仅反转字母
文章目录917. 仅仅反转字母1.题目2.参考答案3.知识点①str.isalpha() 917. 仅仅反转字母 1.题目 给你一个字符串 s ,根据下述规则反转字符串: 1.所有非英文字母保留在原有位置。 2.所有英文字母(小写或大写)位置反转。 返回反转后的 s 。 示例 1: 输入:s = "ab-cd" 输出:"dc-ba" 示例 2: 输入:s = "a-bC-dEf-ghIj" 输出:"j-Ih-gfE-dCba" 2.参考答案 代码如下(示例): class Solution:
【LeetCode】917. 仅仅反转字母
题目 917. 仅仅反转字母 给你一个字符串 s ,根据下述规则反转字符串: 所有非英文字母保留在原有位置。 所有英文字母(小写或大写)位置反转。 返回反转后的 s 。 示例 1: 输入:s = "ab-cd" 输出:"dc-ba" 示例 2: 输入:s = "a-bC-dEf-ghIj" 输出:"j-Ih-gfE-dCba" 示例 3: 输入:s = "Test1ng-Leet=code-Q!" 输出:"Qedo1ct-eeLg=ntse-T!" 提示 1 <= s.length <
364



被折叠的 条评论
为什么被折叠?



