LeetCode: 316. Remove Duplicate Letters

手把手教你用Arduino IDE玩转ESP32-S3-wroom(附串口调试技巧) 本文详细介绍了如何在Arduino IDE环境下配置和使用ESP32-S3-WROOM模块,包括开发环境搭建、硬件连接、程序烧录及高级调试技巧。通过实战步骤和常见问题解决方案,帮助开发者快速上手这一高性能Wi-Fi/蓝牙双模模组,提升物联网开发效率。 阅读详情

LeetCode: 316. Remove Duplicate Letters

题目描述

Given a string which contains only lowercase letters, remove duplicate letters so that every letter appears once and only once. You must make sure your result is the smallest in lexicographical order among all possible results.

Example 1:

Input: "bcabc"
Output: "abc"

Example 2:

Input: "cbacdcbc"
Output: "acdb"

解题思路

  1. 先保证每个元素都出现一次
  2. 再在前面选取最小的元素作为新串的首字母
  3. 递归对非首字母的子串做同样的处理

AC 代码


func removeLetters(s string, idx int, ch byte) string {
    for i := idx; i < len(s); i++ {
        if s[i] == ch {
            s = s[:i] + s[i+1:]
            i--
        }
    }
    
    return s
}

func removeDuplicateLetters(s string) string {
    var flags [26]bool
    alpNum := 0

    for i := 0; i < len(s); i++ {
        if flags[s[i]-'a'] == false {
            alpNum++
        }
        flags[s[i]-'a'] = true
    }
    if len(s) == alpNum {
        return s
    }
    
    // 先保证每个元素都出现一次
    first := -1
    for i := len(s)-1; i >= 0; i-- {
        if alpNum == 0 {
            break
        }
        if flags[s[i]-'a'] == true {
            alpNum--
            first = i
            flags[s[i]-'a'] = false
        }
    }
    
    
    // 再在前面选取最小的元素
    min := 0
    for i := 1; i <= first; i++ {
        if s[min] > s[i] {
            min = i
        }
    }
    
    // 删除后面的 min
    s = removeLetters(s, min+1, s[min])
    
    return s[min:min+1]+removeDuplicateLetters(s[min+1:])
}
幸狐RV1106开发板运行Yolo8示例 rknn_model_zoo 是瑞芯微官方提供的 RKNPU 支持的各种主流算法的部署示例,目前对 Luckfox Pico 所使用的 RV1103/RV1106 有限支持,最新的示例支持 mobilenet 模型部署和 yolo 模型部署,本章以部署 yolov8修改版本为例介绍 rknn_model_zoo 示例的使用。:可选项,用于指定 RKNN 模型的保存路径,默认保存在 ONNX 模型同一目录下,名称为 ‘yolov8.rknn’例如“rv1106”。 阅读详情

相关推荐

图数据挖掘 ECC K-core core number truss number clique

K-core:什么叫k-core,给定一个正整数k(k>=0),k-core是一个G的最大子图(也就是说k-core是一个图的限制),将这个子图定义为Hk,对于Hk中的每个顶点v,他的度数都是大于等于k的。 k-core是内嵌的,如下图所示,集合{ABCD}是H3,也就是3-core的子图。而集合{ABCDE}是H2,也就是2-core的子图,集合{ABCDEGF}是H1,也就是1-core的子图,而从集合的角度来讲H3<H2<H1。 core number:什么叫kcor

weixin_45193103的博客 1677

[LeetCode]RemoveDuplicateLetters解题思路

一、问题描述: Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicograp

CristianoJason的博客 949

由浅入深的详细解读汽车PDU与BDU

本文详细解读新能源汽车的PDU高压配电单元和BDU电池包断路单元,涉及电气件参数设计、选型、结构设计、电气安全、散热设计、继电器控制与诊断,提供汽车电子知识和技术解析。

让你爱上电路设计 1万+

【LeetCode】316. Remove Duplicate Letters 解题报告(Python & C++)

作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录题目描述题目大意解题方法日期 题目地址:https://leetcode.com/problems/remove-duplicate-letters/ 题目描述 Given a string which contains only lowercase letters, remove...

负雪明烛 3219

dify进阶:使用 FastAPI 的 StreamingResponse 实现高效的数据流传输

在 FastAPI 框架中,是一个非常有用的工具,它允许你以流的方式发送数据给客户端,而不是一次性加载所有内容到内存中再发送。这对于处理大型文件下载、视频流或者任何需要长时间处理的任务特别有用。

xiezhipu的博客 1430

AD快速上手笔记

本文详细介绍了使用Altium Designer从零创建PCB项目全流程:新建工程、绘制原理图(元件放置、连线、电源端口)、编译检查、生成PCB、布局布线(含铺铜)、DRC检查及输出Gerber与钻孔文件。重点强调了库选择、参数修改、层切换、铺铜设置和生产文件导出规范,确保设计无误,便于顺利下单生产。

qq_53529450的博客 37

[LeetCode] 316. Remove Duplicate Letters 移除重复字母

Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicographical order a...

weixin_30532759的博客 163

知识图谱构建中的数据清洗:AI原生应用高质量图谱的前提

数据清洗是知识图谱构建的核心前置环节,直接决定AI原生应用(如智能问答、个性化推荐、决策支持系统)的图谱质量与应用效能。本文以第一性原理为起点,系统解析数据清洗的理论框架、技术架构与工程实践,覆盖从多源异构数据的噪声检测到高质量知识三元组(实体-关系-实体)生成的全流程。通过层次化概念映射(专家→中级→入门)、数学形式化建模及工业级案例分析,揭示数据清洗在解决实体歧义、关系冲突、结构不一致等关键问题中的技术逻辑,并展望基于大模型的智能清洗范式演化。Completeness(完整性)

移动开发前沿的博客 398

LeetCode 316. Remove Duplicate Letters--贪心--Java,C++,Python解法

LeetCode 316. Remove Duplicate Letters LeetCode题解专栏:LeetCode题解 我做的所有的LeetCode的题目都放在这个专栏里,大部分题目Java和Python的解法都有。 欢迎大家关注我的专栏。 题目地址:Number of Longest Increasing Subsequence - LeetCode 做这道题目前建议先做:Longes...

个人博客 818

【图像处理】德里奇( Deriche)边缘检测器

Deriche边缘检测,同canny算法齐名,因此,知道canny原理,也有必要知道德里奇的检测原理。本篇专门针对德里奇算法展开讨论。

gongdiwudu的专栏 8673

【RT-DETR有效改进】利用EMAttention加深网络深度提高模型特征提取能力(特征选择模块)

本文给大家带来的改进机制是EMAttention注意力机制,它的核心思想是,重塑部分通道到批次维度,并将通道维度分组为多个子特征,以保留每个通道的信息并减少计算开销。EMA模块通过编码全局信息来重新校准每个并行分支中的通道权重,并通过跨维度交互来捕获像素级别的关系。本文改进是基于ResNet18、ResNet34、ResNet50、ResNet101,文章中均以提供,本专栏的改进内容全网独一份深度改进RT-DETR非那种无效Neck部分改进,

Snu77的博客 3163

316. Remove Duplicate Letters

Problem Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicograp

Scarlett_leetcode的博客 727

隧道裂缝检测【C++PCL】

我们团队注重每一个细节,确保代码的可读性、可维护性和可扩展性达到最高标准。我们严格遵循行业最佳实践,采用模块化和面向对象的设计原则,使得我们的代码结构清晰且易于理解。我们的点云服务更是引以为傲。我们的技术团队拥有深厚的专业知识和丰富的经验,能够提供高度准确和高效的点云处理服务。无论是点云的获取、存储还是分析,我们都能够满足客户的需求,并提供出色的解决方案。我们的技术实力也是无与伦比的,拥有广泛的技术背景和深入的专业知识。

weixin_45196569的博客 844

leetcode:316. Remove Duplicate Letters 题解

题目 Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicographical ord

iterate7的博客 2240

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LeetCode 316: Remove Duplicate Letters

316. Remove Duplicate LettersDifficulty: Hard Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your re

Cycle1413的博客 446

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

leetcode :316 Remove Duplicate Letters : 贪心+递归搜索

316. Remove Duplicate Letters My Submissions Question Editorial Solution Total Accepted: 11048 Total Submissions: 44956 Difficulty: Hard Given a string which contains only lowerca

smileyk的专栏 1947

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

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

leetcode: 316. Remove Duplicate Letters

Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicographical order a...

martin_liang的专栏 313

leetcode(316):Remove Duplicate Letters

原题: Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicographical ord

sunwill的博客 466

Leetcode 316: Remove Duplicate Letters

Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicographical order a...

weixin_38166557的博客 74

LeetCode #316: Remove Duplicate Letters

Problem Statement(Source) Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest i

浮生琴弦 300

leetcode316: Remove Duplicate Letters 使用递归的简单java实现

Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicographical order a

通往花开的路上 1893

leetcode_c++:栈:Remove Duplicate Letters(316 )

Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicographical order am

LandscapeMi 651

LeetCode(316)Remove Duplicate Letters

题目: Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicographica

cokkiey的博客 412

LeetCode—316 Remove Duplicate Letters

思路:建立26个List存储每个字母的位置,然后每次读取一个字母出来,并且维护这26个list public class Solution { List> totalList=new ArrayList>(); int index=-1; public String removeDuplicateLetters(String s) { if (s==null||s.l

徐玄清的专栏 479

LeetCode 316. Remove Duplicate Letters

Description Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure your result is the smallest in lexicograph...

weixin_34029680的博客 111

LeetCode #316 Remove Duplicate Letters

文章目录题目分析贪心算法 (Week 9 算法博客) 题目 Remove Duplicate Letters Given a string which contains only lowercase letters, remove duplicate letters so that every letter appear once and only once. You must make sure...

Blog of SquirrelYuyu 808
上一篇: LeetCode: 315. Count of Smaller Numbers After Self
下一篇: LeetCode: 318. Maximum Product of Word Lengths
IT技术小密圈
博客等级 码龄12年 1385粉丝 322原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值