首页 > 其他分享 >Leetcode 3216. 交换后字典序最小的字符串

Leetcode 3216. 交换后字典序最小的字符串

时间:2024-10-30 10:31:02浏览次数:1  
标签:3216 string int 字符串 Leetcode 字典

因为字符串长度只有100,所以直接模拟就行了。字符串比较不想写的话,可以用C的strcmp

 1 class Solution {
 2 public:
 3     string swap(string& s,int i,int j){
 4         string res="";
 5         for(int k=0;k<i;k++)
 6             res+=s[k];
 7         res+=s[j];
 8         for(int k=i+1;k<j;k++)
 9             res+=s[k];
10         res+=s[i];
11         for(int k=j+1;k<s.size();k++)
12             res+=s[k];
13         return res;
14     }
15     
16     string getSmallestString(string s) {
17         string res=s;
18         for(int i=0;i<s.size()-1;i++){
19             int a=s[i]-'0',b=s[i+1]-'0';
20             if(a%2!=b%2) continue;
21             string t=swap(s,i,i+1);
22             // cout<<t<<endl;
23             if(strcmp(t.c_str(),res.c_str())<0)
24                 res=t;
25         }
26         return res;
27     }
28 };

 

标签:3216,string,int,字符串,Leetcode,字典
From: https://www.cnblogs.com/greenofyu/p/18515322

相关文章

  • [LeetCode] 3216. Lexicographically Smallest String After a Swap
    Givenastringscontainingonlydigits,returnthelexicographicallysmalleststringthatcanbeobtainedafterswappingadjacentdigitsinswiththesameparityatmostonce.Digitshavethesameparityifbothareoddorbothareeven.Forexample,5......
  • 字典树
    字典树(Trie)支持\(O(|s|)\)插入/查询一个字符串。空间复杂度为\(O(|s|_{\max}|\Sigma|)\)。01Trie即\(\Sigma=\{0,1\}\)的字典树,类似二进制,插入/查询一个数复杂度为\(O(\logx)\)。空间复杂度貌似是\(O(\logx)\)的?这种数据结构可以用来维护异或等基本操作,由于不需要......
  • 0x02 Leetcode Hot100 哈希
    前置知识掌握每种语言的基本数据类型及其时间复杂度。Python:list、tuple、set、dictC++:STL中的vector、set、mapJava:集合类中的List、Set、Map为什么是哈希?在不同语言中,对于字典(dict)类的数据都会先将其键(key)进行哈希(Hash)运算,这个Hash值决定了键值对在内存中的存储位置,因此......
  • Leetcode73. 矩阵置零
    问题描述:给定一个 mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。示例1:输入:matrix=[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例2:输入:matrix=[[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,......
  • LeetCode15:三数之和
    原题地址:.-力扣(LeetCode)题目描述给你一个整数数组 nums ,判断是否存在三元组 [nums[i],nums[j],nums[k]] 满足 i!=j、i!=k 且 j!=k ,同时还满足 nums[i]+nums[j]+nums[k]==0 。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复......
  • LeetCode16:最接近的三数之和
    原题地址:.-力扣(LeetCode)题目描述给你一个长度为 n 的整数数组 nums 和一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。示例1:输入:nums=[-1,2,1,-4],target=1输出:2......
  • 用人话讲计算机:小白版Python篇!(四)关于列表、集合、字典、元组初步认识
    注:本章节所写列表、集合、字典、元组等均只涉及初步认识,重在理解,后续会出相关专题专门详细介绍每一种。一、列表列表是python中的一种数据结构,它可以同时存储整数、浮点数、字符等东西!简单来说,你可以将它理解为:专业储存箱,主打一个来者不拒。1.列表长什么样用[]扩住各......
  • leetcode-3211. 生成不含相邻零的二进制字符串
    leetcode-3211.生成不含相邻零的二进制字符串给你一个正整数n。如果一个二进制字符串x的所有长度为2的子字符串中包含至少一个"1",则称x是一个有效字符串。返回所有长度为n的有效字符串,可以以任意顺序排列。思路:所有长度为2的子字符串都包含1,也就是说,......
  • LeetCode 202 - 快乐数
    题目描述编写一个算法来判断一个数 n 是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或者进入一个无限循环但始终变不到1。如果这个过程的结果为1,那么这个数就是快乐数。如果 n 是快乐......
  • Python字典到JSON字符串的转换
    在Python中,字典是一种非常常见的数据结构。它可以轻松地转换为JSON字符串,从而实现了将Python对象序列化为JSON格式的目的。本文将详细介绍如何将Python字典转换为JSON字符串。1.Python字典的基本概念在Python中,字典是一种无序的键值对集合。每个键必须唯一且非空,而值可以是任何......