![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
散风少年
这个作者很懒,什么都没留下…
展开
-
2315. 统计星号
在`countStars`函数中,我们使用一个变量`count`来记录星号的数量,使用一个变量`inPair`来判断当前字符是否在竖线对之间。示例 3:输入:s = "yo|uar|e**|b|e***au|tifu|l",输出:5,解释:需要考虑的字符加粗加斜体后:"yo|uar|e**|b|e***au|tifu|l"。解释:不在竖线对之间的字符加粗加斜体后,得到字符串:"l|*e*et|c**o|*de|"。示例 1:输入:s = "l|*e*et|c**o|*de|",输出:2。原创 2023-08-16 08:59:29 · 39 阅读 · 0 评论 -
1929. 数组串联
定义一个名为`getConcatenation`的函数,它接受一个整数数组`nums`、数组大小`numsSize`和一个指向整数的指针`returnSize`。该函数返回一个长度为`2 * numsSize`的整数数组`ans`,其中`ans`由两个`nums`数组串联形成。在`main`函数中,我们定义了一个示例数组`nums`,然后调用`getConcatenation`函数来获取答案数组`ans`。ans[i + n] == nums[i],具体而言,ans 由两个 nums 数组 串联 形成。原创 2023-08-16 08:58:45 · 123 阅读 · 0 评论 -
力扣第一题,C语言实现,两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。提示:2 <= nums.length <= 104,-109 <= nums[i] <= 109,-109 <= target <= 109。示例 1:输入:nums = [2,7,11,15], target = 9,输出:[0,1]示例 2:输入:nums = [3,2,4], target = 6,输出:[1,2]原创 2023-10-28 11:41:05 · 225 阅读 · 0 评论 -
C语言:字符统计及重排
else if(isupper(s[j])&& isupper(s[j+1])&&s[j>s[j+1]]){//同大写,需按自然顺序。} else if (islower(s[j])&& islower(s[j+1])&&s[j]>s[j+1]){ //同小写。}else if(hash[s[j]]==hash[s[j+1]]){ //若个数相同则需要考虑下方场景。输出描述:按照字母出现次数从大到小的顺序输出各个字母和字母次数,用英文分号分隔,注意末尾的分号:字母和次数间用英文冒号分隔.原创 2023-08-11 08:43:26 · 215 阅读 · 0 评论 -
C语言:力扣88题,删除字符串中字符最少字符
最后,再次遍历字符串,删除出现频率为minCount的字符,并输出结果。// 外层循环遍历字符串的每个字符,内层循环将当前字符之后的字符串逐渐前移,来删除最小频率的字符。示例2:输入:aabbccdd,输出:empty,说明:如果字符串的字符都被删除,则范围empty。* 然后遍历字符串统计每个字符串出现的频率,然后找到频率最小的字符删除,最后在遍历输出。* 首先定义长度为26的数组count,用于记录每个小写字母出现的频率,删除字符串中出现次数最少的字符,如果有多个字符出现次数一样,则都删除.原创 2023-08-10 22:15:21 · 188 阅读 · 0 评论 -
C语言:字符串的解压缩
void decompressString(char* str) { //解压。if(num == 0){//字符前没有数字 只放一个字符。void compressString(char* str) { //压缩。printf("请输入要解压缩的字符串:");printf("请输入要压缩的字符串:");printf("压缩后的字符串为:");原创 2023-08-10 22:14:23 · 739 阅读 · 0 评论 -
C语言:文件调用
在 `demo.c` 文件中,我们首先定义了三个数组 `arr1`、`arr2`、`arr3`,并分别调用了选择排序、冒泡排序和插入排序函数对它们进行排序。然后,我们输出排序前和排序后的数组内容。首先,我们在 `sort.c` 文件中实现选择排序、冒泡排序和插入排序的函数。接下来,我们在 `sort.h` 文件中声明这几个排序函数。最后,在 `demo.c` 文件中调用这几个排序函数。编译并运行 `demo.c` 文件,即可看到排序结果。原创 2023-08-10 22:13:19 · 454 阅读 · 0 评论 -
C语言:力扣263题,丑数
/这个函数首先检查输入的数是否小于等于0,如果是则返回false。然后,它使用循环将输入的数除以2、3和5,直到无法再整除为止。最后,它检查剩余的数是否等于1,如果是则返回true,否则返回false。示例 3:输入:n = 14,输出:false,解释:14 不是丑数,因为它包含了另外一个质因数 7。解释:1 没有质因数,因此它的全部质因数是 {2, 3, 5} 的空集。示例 1:输入:n = 6,输出:true,解释:6 = 2 × 3。示例 2:输入:n = 1,输出:true。原创 2023-08-10 22:10:50 · 74 阅读 · 0 评论 -
C语言:力扣268,丢失的数字
示例 1:输入:nums = [3,0,1],输出:2,解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。示例 3:输入:nums = [9,6,4,2,3,5,7,0,1],输出:8,解释:n = 9,因为有 9 个数字,所以所有的数字都在范围 [0,9] 内。3. 根据等差数列的求和公式,计算期望的和 `expectedSum`,即 `numsSize * (numsSize + 1) / 2`,其中 `numsSize` 是数组 `nums` 的长度。原创 2023-08-10 22:11:46 · 132 阅读 · 0 评论 -
C语言:字符串转换整数 (atoi)
具体来说,小于 −231 的整数应该被固定为 −231 ,大于 231 − 1 的整数应该被固定为 231 − 1。读入字符串并丢弃无用的前导空格,检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。将前面步骤读入的这些数字转换为整数(即,"123" -> 123, "0032" -> 32)。示例 1:输入:s = "42",输出:42,解释:加粗的字符串为已经读入的字符,插入符号是当前读取的字符。由于 "-42" 在范围 [-231, 231 - 1] 内,最终结果为 -42。原创 2023-08-09 08:54:13 · 372 阅读 · 0 评论 -
C语言:回文数,力扣第九题
5. 最后,判断 `x` 是否等于 `reverse` 或者 `x` 是否等于 `reverse` 去除末位后的数字(即当输入的整数位数为奇数时,中间数字不需要考虑是否对称)。- 每次循环将 `x` 的末位数字取出并添加到 `reverse` 的末尾,即 `reverse = reverse * 10 + x % 10`。1. 如果输入的整数 `x` 是负数或者末位数字为0的非零数,则它不是回文数,直接返回 `false`。- 同时将 `x` 的末位数字去除,即 `x /= 10`。原创 2023-08-09 08:53:08 · 65 阅读 · 0 评论 -
C语言:数字反转
在这段代码中,我们使用了一个`result`变量来保存反转后的结果。我们通过循环取`x`的最后一位数字,将其添加到`result`的末尾,并将`x`除以10,以便继续处理下一位数字。在每次循环中,我们还要检查是否会导致溢出。需要注意的是,由于题目中限制了不能存储64位整数,因此我们没有使用64位整数来保存结果。而是通过判断乘以10是否会溢出的方式来处理溢出情况。最后,在主函数`main()`中,我们定义了一个整数`x`,并调用`reverse()`函数进行反转,然后打印输出结果。原创 2023-08-09 08:51:53 · 3775 阅读 · 0 评论 -
C语言:使用最小花费爬楼梯,力扣746题
否则,我们通过递归调用`minCostClimbingStairs(cost, n-1)`和`minCostClimbingStairs(cost, n-2)`来计算从当前台阶跳上顶部的最小花费。示例 2:输入:cost = [1,100,1,1,1,100,1,1,100,1] 输出:6。- 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。- 支付 1 ,向上爬两个台阶,到达下标为 6 的台阶。- 支付 1 ,向上爬两个台阶,到达下标为 9 的台阶。- 支付 1 ,向上爬一个台阶,到达楼梯顶部。原创 2023-08-09 08:50:05 · 276 阅读 · 0 评论 -
C语言:爬楼梯,力扣第70题
1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶,提示:1 <= n <= 4 */需要 n 阶你才能到达楼顶。示例 1:输入:n = 2,输出:2,解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶,2. 2 阶。printf("到达楼顶的方法总数为:%d\n", result);printf("到达楼顶的方法总数为:%d\n", result);示例 2:输入:n = 3,输出:3,解释:有三种方法可以爬到楼顶。printf("请输入楼梯的阶数:");原创 2023-08-09 08:48:40 · 107 阅读 · 0 评论 -
C语言:2的幂,给你一个整数 n,请你判断该整数是否是 2 的幂次方,力扣原题
0){ //如果n不是偶数,说明它不是2的幂次方,返回0。if(result==1){ //调用Power函数判断是否是2的幂次方。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。if(n==1){ //首先,当n等于1时,直接返回1。示例 2:输入:n = 16 输出:true 解释:24 = 16。输入:n = 1,输出:true 解释:20 = 1。示例 4:输入:n = 4 输出:true。原创 2023-08-09 08:47:25 · 842 阅读 · 0 评论 -
0802.判断包含0-10并找出最大小数字及剩余
如果遇到数字字符,则将其拼接成一个完整的数字,并判断该数字是否在0到10之间。最后,我们输出最小值、最大值和剩余数字个数。- 代码中使用了`limits.h`头文件,其中包含了`INT_MAX`和`INT_MIN`常量,用于表示`int`类型的最大值和最小值。- 代码中没有处理非法输入的情况,如果输入字符串中包含非法字符,可能导致错误。- 以上代码是针对给定的输入字符串格式进行处理的,如果输入字符串格式发生变化,可能需要相应调整。printf("请输入一串字符,只包含\"0-9\"和\",\":");原创 2023-08-09 08:45:58 · 26 阅读 · 0 评论 -
求一组最少身高差
在上述代码中,我们使用一个`for`循环获取用户输入的5个身高,并进行有效性验证,确保身高在170到190之间。对于每一对身高,我们计算身高差,并与当前的最小差值进行比较。如果找到了相同的差值,则比较两对身高的平均值,选择平均值较大的那一对身高。printf("身高差最小的两个身高是:%d, %d\n", heights[index1], heights[index2]);- 代码中使用了`limits.h`头文件,其中包含了`INT_MAX`常量,用于表示`int`类型的最大值。原创 2023-08-09 08:43:42 · 100 阅读 · 0 评论 -
C语言:两两数找不同,数组中数字两两相同,有两个不同,找出这两个
这段代码与之前的解决方案相同,只是将函数`findTwoDifferentNumbers`的代码直接放在了`main()`函数中。在主函数中,我们首先进行异或运算,找到两个不同的数字。然后,我们找到`xorResult`中二进制表示中第一个不同的位,并将数组中的数字分为两组。最后,我们对这两组数字进行异或运算,得到两个不同的数字,并打印输出。如果数组中包含其他数字或没有不同的数字,可能导致错误。printf("两个不同的数字是:%d, %d\n", num1, num2);原创 2023-08-09 08:42:39 · 361 阅读 · 0 评论 -
C语言:最优装载,快递装车最多装载量
输入描述:第一行输入每个快递的重量,用英文逗号分隔,如: 5,10,2,11 第二行输入货车的载重量,如: 20。示例1输入输出示例仅供调试,后台判题数据一般不包含示例,输入5,10,2,11, 20 输出 3 ,一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,为了能够装载更多的快递,同时不能让货车超载,需要计算最多能装多少个快递,注:快递的体积不受限制,快递数最多1000个,货车载重最大50000。说明:货车的载重量为20,最多只能放三个快递5、10、2,因此输出3。原创 2023-08-09 08:39:22 · 135 阅读 · 0 评论 -
c语言:字符字符串的拆分
原创 2023-08-08 08:38:28 · 242 阅读 · 0 评论 -
斐波那契数
也就是:F(0) = 0,F(1) = 1。示例 2:输入:n = 3,输出:2,解释:F(3) = F(2) + F(1) = 1 + 1 = 2。示例 3:输入:n = 4,输出:3,解释:F(4) = F(3) + F(2) = 2 + 1 = 3。F(n) = F(n - 1) + F(n - 2),其中 n > 1。给定 n ,请计算 F(n)。示例 1:输入:n = 2,输出:1。解释:F(2) = F(1) + F(0) = 1 + 0 = 1。原创 2023-08-08 08:38:17 · 29 阅读 · 0 评论 -
矩阵中的幸运数字
示例 2:输入:matrix = [[1,10,4,2],[9,3,8,7],[15,16,17,12]],输出:[12]示例 1:输入:matrix = [[3,7,8],[9,11,13],[15,16,17]],输出:[15]给你一个 m * n 的矩阵,矩阵中的数字 各不相同。解释:15 是唯一的幸运数,因为它是其所在行中的最小值,也是所在列中的最大值。解释:12 是唯一的幸运数,因为它是其所在行中的最小值,也是所在列中的最大值。解释:7是唯一的幸运数字,因为它是行中的最小值,列中的最大值。原创 2023-08-08 08:38:06 · 69 阅读 · 0 评论 -
邮箱地址合法性校验,输入一人电子邮箱地址字符串,要求检查这人邮箱地址是否合法
1、仅包含一个“@”字符,2.最后三个字符必须是“.com”,3.字符之间没有空格,4、有效字符为0~9、a~z、A~Z输入:字符串,输出:是否是有效邮箱名的结果.样例输入: huawei@huawei.com,样例输出: 1。1.邮箱地址合法性校验( https://zhidao.baidu.com/question/332543978.html输入一人电子邮箱地址字符串,要求检查这人邮箱地址是否合法,如果输入的电子邮箱地址是合法的,输出字符串 "",如果不合法输出字符“0”。原创 2023-08-08 08:37:52 · 4347 阅读 · 0 评论 -
C语言:字符串拼接
原创 2023-08-08 08:37:40 · 177 阅读 · 0 评论 -
C语言:输入bb12-34aa,输出-31,说明1+2+(-34) = 31
原创 2023-08-08 08:37:28 · 33 阅读 · 0 评论 -
C语言:输入字符串,输出字符串中的最大数字
原创 2023-08-08 08:37:07 · 766 阅读 · 0 评论 -
C语言:对字符串内元素排序且去重后输出结果
原创 2023-08-08 08:36:50 · 57 阅读 · 0 评论 -
C语言:输入字符串 输入字符 输出字符在字符串内第一次出现的下标 若不存在输出
原创 2023-08-08 08:36:33 · 129 阅读 · 0 评论 -
C语言:删除字符串内所有非数字字符
原创 2023-08-08 08:36:18 · 965 阅读 · 0 评论 -
C语言:对字符串内数据逆序后输出
另一种写法。原创 2023-08-07 08:56:21 · 31 阅读 · 0 评论 -
C语言:输入字符串 将所有的大写字母转小写 小写字母转大写 后 输出字符串
另一种写法。原创 2023-08-07 08:55:56 · 231 阅读 · 0 评论 -
C语言:输入字符串,统计大小写字母个数 小写字母,数字字符,其它字符个数
另一种写法,逻辑类似。原创 2023-08-07 08:55:30 · 575 阅读 · 0 评论 -
C语言:数组排序,冒泡算法 / 选择排序
原创 2023-08-07 08:55:15 · 29 阅读 · 0 评论 -
对数组中大于指定值的元素逆序其余元素位置不变(多种方法)
原创 2023-08-07 08:55:02 · 24 阅读 · 0 评论 -
C语言:求最大递增(后大于前)子数组长度 子数组:连续的一个或多个元素
原创 2023-08-07 08:54:51 · 48 阅读 · 0 评论 -
对数组的数据排序,排序规则:根据数字后两位的大小升序排列,若数字不足两位,按实际位数比较
原创 2023-08-07 08:54:33 · 57 阅读 · 0 评论 -
求最大递增(后大于前) 子数组长度 子数组:连续的一个或多个元素
原创 2023-08-07 08:53:48 · 26 阅读 · 0 评论 -
求众数,(输入保证众数只有一个),及个数。(众数:数组中出现次数最多的数)
原创 2023-08-07 08:53:17 · 49 阅读 · 0 评论 -
删除数组中所有大于10的元素
原创 2023-08-07 08:52:47 · 43 阅读 · 0 评论 -
向有序数组(升序)插入一个数,使其仍有序
原创 2023-08-06 15:48:40 · 272 阅读 · 0 评论