C语言日记 2024年10月30日

ops/2024/10/31 6:10:17/

目录

总结:

头文件:

函数:

内容:


总结:

头文件:

前三个函数来自于<string.h>

malloc来自于<stdlib.h>

函数:

strcmp(s1,s2);

用来比较字符串,s1大于s2时返回大于0的数。(同理,相同的话就等于0,小于的话就小于0。)

strlen(s1);

用来获得字符串的长度。

strcpy(s1,s2);

将字符串s2的内容复制给s1。

s1=(char*)malloc(n);

用来给s1这个字符串n位内存空间。

内容:

今天看见了一道题,题目如下。

3216. 交换后字典序最小的字符串
简单
提示
给你一个仅由数字组成的字符串 s,在最多交换一次 相邻 且具有相同 奇偶性 的数字后,返回可以得到的
字典序最小的字符串
。如果两个数字都是奇数或都是偶数,则它们具有相同的奇偶性。例如,5 和 9、2 和 4 奇偶性相同,而 6 和 9 奇偶性不同。示例 1:输入: s = "45320"输出: "43520"解释:s[1] == '5' 和 s[2] == '3' 都具有相同的奇偶性,交换它们可以得到字典序最小的字符串。示例 2:输入: s = "001"输出: "001"解释:无需进行交换,因为 s 已经是字典序最小的。

其中“字典序”我不知道是啥。

我认为字典序就是你查字典的时候,不同字在字典里的排序。例如用拼音查字法里的pa的字典序就比pi要靠前(也就是小。)。

接下来说说我的解题思路。

我的思路是穷举,通过获得全部的结果,然后比大小,将最小的结果返回回去就可以了。

这里用到的关键函数是strcmp,它用来进行比较字符串大小的操作。

我的答案如下。

char* getSmallestString(char* s) {int len=strlen(s);//获取字符串长度if(len<2){return s;}int i=0;char* r1;r1 = (char *)malloc(sizeof(char)*(len+1));strcpy(r1,s);char* r2;r2 = (char *)malloc(sizeof(char)*(len+1));for(i=0;(i+1)<=(len-1);i++){int num1 = s[i]-'0';int num2 = s[i+1]-'0';char temp;if ((num1%2==num2%2)){strcpy(r2,s);r2[i+1]=s[i];r2[i]=s[i+1];if(strcmp(r2,r1)<0){strcpy(r1,r2);}}}return r1;
}


http://www.ppmy.cn/ops/129792.html

相关文章

【初识Linux】

寻不到花的折翼枯叶蝶&#xff0c;永远也看不见凋谢............................................................................. 文章目录 前言 一、【基本指令】 1、ls 2、pwd 3、cd 4. touch 5.mkdir 6.rmdir 7、rm 8.man 9.cp 10、mv 11、cat 12、tac 13、more 14、le…

384.打乱数组

目录 题目解法 题目 给你一个整数数组 nums &#xff0c;设计算法来打乱一个没有重复元素的数组。打乱后&#xff0c;数组的所有排列应该是 等可能 的。 实现 Solution class: Solution(int[] nums) 使用整数数组 nums 初始化对象 int[] reset() 重设数组到它的初始状态并返…

【Stable Diffusion】

1、SD 模型 安装完SD软件后&#xff0c;必须搭配基础模型才能使用。 不同的基础模型&#xff0c;其画风和擅长的领域会有侧重。 Checkpoint大模型 大模型是 SD 的核心&#xff0c;用来控制生成图片的整个画面风格走势。 出图前要选择好合适的大模型&#xff0c;比如有些擅长…

2023年CCPC哈尔滨站 补题记录

The 9th CCPC (Harbin) Onsite(The 2nd Universal Cup. Stage 10: Harbin) 文章目录 Problem B. Memory&#xff08;签到、思维&#xff09;Problem D. A Simple MST Problem&#xff08;最小生成树筛法&#xff09;Problem E. Revenge on My Boss&#xff08;推公式贪心&#…

【OpenSearch】机器学习(Machine Learning)神经搜索教程

早年就在Elasticsearch上看到过机器学习模块&#xff0c;局限于需要开通白金及以上订阅&#xff0c;没有尝试过该模块&#xff0c;OpenSearch在2.6还是哪个版本已经内置该插件。 文章参考&#xff1a;https://opensearch.org/docs/latest/search-plugins/neural-search-tutoria…

【AI】【一般认知】AI3.0读后总结1-人工智能的挑战与未来:从复杂系统到人类理解

复杂系统的研究探索了复杂行为如何从相对简单的组成部分之间的相互作用中产生。这一概念在今天讨论人工智能(AI)时尤为相关。尽管取得了巨大进展,但机器与真正像人类一样理解世界的距离仍然存在。人类认知的一些核心属性仍然超出当前人工智能的能力范围,理解这些局限至关重…

OpenCV视觉分析之目标跟踪(5)目标跟踪类TrackerMIL的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 MIL 算法以在线方式训练分类器&#xff0c;以将目标从背景中分离出来。多重实例学习&#xff08;Multiple Instance Learning&#xff09;通过在…

【GL07】C语言要点

1.C语言中的结构体 &#xff08;1&#xff09;使用struct关键字 struct Student { int id; // 学生IDchar name[50]; // 学生姓名float score; // 学生成绩 };用法&#xff1a; struct Student student1; // 创建一个Student类型的变量student1 &#xff08;2&#xff09;…