当前位置: 首页 > news >正文

C语言 | Leetcode C语言题解之第316题去除重复字母

题目:

题解:

char* removeDuplicateLetters(char* s) {int vis[26], num[26];memset(vis, 0, sizeof(vis));memset(num, 0, sizeof(num));int n = strlen(s);for (int i = 0; i < n; i++) {num[s[i] - 'a']++;}char* stk = malloc(sizeof(char) * 27);int stkTop = 0;for (int i = 0; i < n; i++) {if (!vis[s[i] - 'a']) {while (stkTop > 0 && stk[stkTop - 1] > s[i]) {if (num[stk[stkTop - 1] - 'a'] > 0) {vis[stk[--stkTop] - 'a'] = 0;} else {break;}}vis[s[i] - 'a'] = 1;stk[stkTop++] = s[i];}num[s[i] - 'a'] -= 1;}stk[stkTop] = '\0';return stk;
}

相关文章:

C语言 | Leetcode C语言题解之第316题去除重复字母

题目&#xff1a; 题解&#xff1a; char* removeDuplicateLetters(char* s) {int vis[26], num[26];memset(vis, 0, sizeof(vis));memset(num, 0, sizeof(num));int n strlen(s);for (int i 0; i < n; i) {num[s[i] - a];}char* stk malloc(sizeof(char) * 27);int stk…...

本地部署 Llama-3-EvoVLM-JP-v2

本地部署 Llama-3-EvoVLM-JP-v2 0. 引言1. 关于 Llama-3-EvoVLM-JP-v22. 本地部署2-0. 克隆代码2-1. 安装依赖模块2-2. 创建 Web UI2-3.启动 Web UI2-4. 访问 Web UI 0. 引言 Sakana AI 提出了一种称为进化模型合并的方法&#xff0c;并使用该方法创建大规模语言模型&#xff…...

Evaluating the Generation Capabilities of Large Chinese Language Models

文章目录 题目摘要相关工作CG-Eval实验 题目 评估大型中文语言模型的生成能力 论文地址&#xff1a;https://arxiv.org/abs/2308.04823 项目地址&#xff1a;http://cgeval.besteasy.com/ 摘要 本文介绍了 CG-Eval&#xff0c;这是有史以来第一个全面的自动化评估框架&#xf…...

YOLOv8添加注意力模块并测试和训练

YOLOv8添加注意力模块并测试和训练 参考bilibili视频 yolov8代码库中写好了注意力模块&#xff0c;但是yolov8的yaml文件中并没用使用它&#xff0c;如下图的通道注意力和空间注意力以及两者的结合CBAM&#xff0c;打开conv.py文件可以看到&#xff0c;其中包含了各种卷积块的…...

「Unity3D」自动布局LayoutElement、ContentSizeFitter、AspectRatioFitter、GridLayoutGroup

布局元素与布局控制器 布局元素实现ILayoutElement接口&#xff0c;布局控制器实现ILayoutController接口&#xff0c;后者根据前者的属性控制具体布局——有些布局控制器也是布局元素&#xff0c;即同时实现这两个接口&#xff0c;如LayoutGroup。 public interface ILayout…...

【Golang 面试 - 进阶题】每日 3 题(十六)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…...

Redis2

为什么Redis要给缓存数据设置过期时间&#xff1f; 内存是有限的&#xff0c;如果缓存中的所有数据都是一直保存&#xff0c;很容易OOM Redis如何判断数据是否过期&#xff1f; 通过过期字典来保存数据的过期时间 过期删除策略 Redis采用的是定期删除惰性删除 Redis内存淘…...

C语言--函数

1. 函数定义 语法&#xff1a; 类型标识符 函数名&#xff08;形式参数&#xff09; {函数体代码 } &#xff08;1&#xff09;类型标识符 --- 数据类型&#xff08;函数要带出的结果的类型&#xff09; 注&#xff1a;数组类型不能做函数返回结果的类型&#xff0c;如果函…...

Shell 编程的高级技巧和实战应用

第一步&#xff1a;高级函数和模块化设计 1.1 高级函数设计 探讨函数的参数处理和默认值设置。示例&#xff1a;实现一个可以处理可选参数的函数。 #!/bin/bashgreet() {local name${1:-"World"} # 如果没有提供参数&#xff0c;使用默认值 "World"ech…...

VMWare虚拟机如何连接U盘

检查配置 1&#xff09;Win R键&#xff0c;输入services.msc&#xff0c;打开服务。 2&#xff09;将AMware USB Arbitration Services 服务开启&#xff0c;并设置为自动启动&#xff1b; 连接U盘 目前作者了解有两种连接方式&#xff0c;如有其他连接方式&#xff0c;欢…...

【学习笔记】后缀自动机(SAM)

前言 之前对后缀自动机的理解太浅薄了&#xff0c;故打算重新写一篇。 后缀自动机是什么 后缀自动机是一个字符串的所有后缀建起来的自动机。它把所有子串&#xff08;后缀的前缀&#xff09;用 O ( n ) O(n) O(n) 的空间装了起来。后缀自动机的边会构成一个 D A G DAG DA…...

Godot的节点与场景

要深入的理解节点与场景&#xff0c;我们需要跳出这两个概念来看他。说的再直白一些godot本质就是一个场景编辑器&#xff01; 场景的概念应该在我们平时看电影看电视时会经常提到&#xff0c;比如某一个打斗的场景&#xff0c;这个场景可能会被设在某一个街道&#xff0c;那么…...

C++ 学习(2) ---- std::cout 格式化输出

目录 std::cout 格式化输出简介使用成员函数使用流操作算子 std::cout 格式化输出简介 C 通常使用cout输出数据&#xff0c;和printf()函数相比&#xff0c;cout实现格式化输出数据的方式更加多样化&#xff1b; 一方面&#xff0c;cout 作为 ostream 类的对象&#xff0c;该类…...

前端拿不到Long类型成员变量,用@JsonSerialize(using = ToStringSerializer.class)序列化一下

EqualsAndHashCode(callSuper true) Data TableName("la_school_business") Schema(description "商务负责人表") public class SchoolBusiness extends BaseEntity {private static final long serialVersionUID -7124481085999629236L;/*** 商务负责人…...

JWT登录校验流程

jwt令牌的基本概念&#xff1a; 1. JWT&#xff08;JSON Web Token&#xff09; 定义&#xff1a;JWT 是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;用于在各方之间作为 JSON 对象安全地传输信息。它可以被验证和信任&#xff0c;因为它是数字签名的。结构&am…...

yarn安装和部署

文章目录 概述安装部署1.构建项目2.测试3.清理构建目录 小结 概述 yarn是一个快速、可靠和安全的JavaScript包管理工具&#xff0c;由Facebook开发。它被设计用来替代npm&#xff08;Node Package Manager&#xff09;&#xff0c;尽管它与npm在很多方面兼容。yarn提供了以下一…...

Visual Studio的安装教程与使用方法

Visual Studio的安装教程与使用方法 一、Visual Studio的安装教程 1. 准备工作 确认系统要求&#xff1a; 在开始安装Visual Studio之前&#xff0c;请确保您的计算机满足Visual Studio的系统要求这。包括操作系统版本、内存、硬盘空间等。您可以在Visual Studio的官方网站…...

一键换装软件哪个好?6个换装工具让你秒变穿搭达人

#紫色跑道的city穿搭#火了&#xff0c;很多人都开始打卡各种紫色穿搭&#xff0c;展示自己的时尚态度。 但对于没有时间或金钱去精心搭配的我们来说&#xff0c;有没有一种更简单、更快捷的方式&#xff0c;让我们也能轻松跟上潮流呢&#xff1f; 当然有&#xff01;今天&…...

【EtherCAT】Windows+Visual Studio配置SOEM主站——源码配置

目录 一、准备工作 1. Visual Studio 2022 2. Npcap 1.79 3. SOEM源码 二、源码部署 1. 新建Visual Studio工程 2. 创建文件夹 3. 创建主函数 4. 复制源代码 5. 删除无关项 6. 将soem源码添加进工程 7. 添加soem头文件 8. 配置头文件路径 9. 配置静态库和静态库路…...

GPTPDF深度解析:开源文档处理技术全攻略

GPTPDF深度解析&#xff1a;开源文档处理技术全攻略 在数字化信息时代&#xff0c;PDF文件因其稳定性和跨平台兼容性&#xff0c;已成为学术交流、技术文档和电子书籍等领域的首选格式。然而&#xff0c;PDF文档的处理和内容提取一直是一个难题。随着人工智能技术的飞速发展&a…...

【ROS】利用moveit控制自制机械臂(0)

利用moveit控制自制机械臂&#xff1a; 1. 建立机械臂的urdf文件&#xff08;或xacro文件&#xff09;【ROS】利用moveit控制自制机械臂&#xff08;1&#xff09;——建立机械臂的urdf文件-CSDN博客 2. 使用moveit配置助手生成配置文件 【ROS】利用moveit控制自制机械臂&…...

光伏系统设计避坑指南:用pvlib快速验证双面组件发电增益(附对比实验代码)

光伏系统设计避坑指南&#xff1a;用pvlib快速验证双面组件发电增益&#xff08;附对比实验代码&#xff09; 在光伏系统设计领域&#xff0c;双面组件正逐渐成为行业新宠。与传统单面组件相比&#xff0c;双面组件能够同时利用正面和背面的入射光&#xff0c;理论上可提升5%-3…...

COMSOL软件下的路基水盐迁移过程仿真模拟分析

COMSOL路基水盐迁移。北方冬季道路翻浆这事儿大家应该都见过——路面底下水分带着盐分反复迁移&#xff0c;冻融循环直接把路基整得支离破碎。这种水盐运移的暗箱操作用COMSOL仿真起来其实挺有意思&#xff0c;今天咱们就手把手盘一盘怎么用这个神器建模。先搞个二维模型&#…...

SenseVoice-small-onnx语音识别效果对比:中文普通话vs粤语识别差异

SenseVoice-small-onnx语音识别效果对比&#xff1a;中文普通话vs粤语识别差异 获取更多AI镜像 想探索更多AI镜像和应用场景&#xff1f;访问 CSDN星图镜像广场&#xff0c;提供丰富的预置镜像&#xff0c;覆盖大模型推理、图像生成、视频生成、模型微调等多个领域&#xff0c;…...

Realtek 8852CE Linux驱动性能优化与架构调优解决方案

Realtek 8852CE Linux驱动性能优化与架构调优解决方案 【免费下载链接】rtw89 Driver for Realtek 8852AE, an 802.11ax device 项目地址: https://gitcode.com/gh_mirrors/rt/rtw89 在Linux系统中部署Realtek 8852CE、8852AE、8852BE等Wi-Fi 6/7无线网卡时&#xff0c;…...

SEO_长期有效的SEO策略应该如何制定与执行?

SEO策略制定的基础&#xff1a;从理解到实际操作 在当今数字化时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为任何企业或个人网站流量增长的关键因素。长期有效的SEO策略不仅仅是一时之功&#xff0c;更需要我们对其有深刻的理解并持续优化。如何制定与执行…...

Windows下OpenClaw安装避坑:ollama-QwQ-32B联调全记录

Windows下OpenClaw安装避坑&#xff1a;ollama-QwQ-32B联调全记录 1. 为什么选择Windowsollama-QwQ-32B组合 去年在Mac上折腾OpenClaw时&#xff0c;我曾天真地以为跨平台体验应该差不多。直到上个月给团队Windows设备配置ollama-QwQ-32B联调环境时&#xff0c;才真正领教了微…...

Qwen3-ASR-1.7B多语言识别效果展示:支持52种语种的实战案例

Qwen3-ASR-1.7B多语言识别效果展示&#xff1a;支持52种语种的实战案例 1. 引言 语音识别技术正在以前所未有的速度发展&#xff0c;但真正能够同时处理多种语言和方言的模型却寥寥无几。当我第一次测试Qwen3-ASR-1.7B时&#xff0c;最让我惊讶的不是它的准确率&#xff0c;而…...

Bruno对话框与弹窗组件:打造优雅的用户反馈机制

Bruno对话框与弹窗组件&#xff1a;打造优雅的用户反馈机制 【免费下载链接】bruno An enterprise-class package of Flutter components for mobile applications. ( Bruno 是基于一整套设计体系的 Flutter 组件库。) 项目地址: https://gitcode.com/gh_mirrors/bru/bruno …...

ButtonSet:单ADC通道多按键模拟识别库

1. 项目概述ButtonSet 是一个面向嵌入式资源受限环境设计的轻量级多按键模拟输入管理库&#xff0c;其核心工程目标是&#xff1a;在仅占用单个 ADC 通道的前提下&#xff0c;实现对多个物理按键&#xff08;通常为 4&#xff5e;8 个&#xff09;的可靠识别与去抖动处理。该方…...