![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode C语言练习
be_gin_ner
这个作者很懒,什么都没留下…
展开
-
C语言简单练习(1)
打印100~200 之间的素数输出乘法口诀表判断1000年—2000年之间的闰年void sushu(){ printf("打印100~200之间的素数\n"); int i = 0; int j = 0; for (int i = 100; i <= 200; i++) { int c = 0; for (j = 2; j < i; j++) { ...原创 2018-11-26 19:10:35 · 148 阅读 · 0 评论 -
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?实现 int sqrt(int x) 函数。
今天我们来爬一爬楼梯。假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。3. 1 阶 + 1 阶 + 1 阶4. 1 ...原创 2019-01-20 22:45:53 · 8467 阅读 · 0 评论 -
最大子序和(给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。)
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 :输入 : [-2, 1, -3, 4, -1, 2, 1, -5, 4],输出 : 6解释 : 连续子数组[4, -1, 2, 1] 的和最大,为 6。#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>#inclu...原创 2019-01-25 23:58:12 · 7196 阅读 · 0 评论 -
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入 : 121输出 : true示例 2 :输入 : -121输出 : false解释 : 从左向右读, 为 - 121 。 从右向左读, 为 121 - 。因此它不是一个回文数。示例 3 :输入 : 10输出 : false解释 : 从右向左读, 为 01 。因此它不是一个回...原创 2019-01-15 20:37:20 · 3299 阅读 · 3 评论 -
给定一个整数数组,判断是否存在重复元素。
给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入 : [1, 2, 3, 1]输出 : true示例 2 :输入 : [1, 2, 3, 4]输出 : false示例 3 :输入 : [1, 1, 1, 3, 3, 4, 3, 2, 4, 2]输出 : true#defi...原创 2019-01-27 00:03:57 · 2791 阅读 · 0 评论 -
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易,设计一个算法来计算你所能获取的最大利润。将两个有序整数数组 nums1 和 nums2并到一起成为有序数组
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入 : [7, 1, 5, 3, 6, 4]输出 : 5解释 : 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6 - 1 = ...原创 2019-01-21 23:39:34 · 9848 阅读 · 1 评论 -
有1000只水桶,其中有且只有一桶装的含有毒药,其余装的都是水。它们从外观看起来都一样。如果小猪喝了毒药,它会在15分钟内死去。
有1000只水桶,其中有且只有一桶装的含有毒药,其余装的都是水。它们从外观看起来都一样。如果小猪喝了毒药,它会在15分钟内死去。问题来了,如果需要你在一小时内,弄清楚哪只水桶含有毒药,你最少需要多少只猪?回答这个问题,#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>#include <stdlib.h>...原创 2019-01-31 23:22:55 · 2837 阅读 · 0 评论 -
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3, 2, 2, 3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元...原创 2019-01-16 22:19:27 · 1534 阅读 · 0 评论 -
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入 : 1输出 : true 解释 : 20 = 1示例 2 : 输入 : 16 输出 : true 解释 : 24 = 16示例 3 :输入 : 218 输出 : false 解题思路:首先要大于零 ,还要是2的次幂,那用二进制来表示就是 1(1),10(...原创 2019-01-27 22:12:17 · 1267 阅读 · 1 评论 -
编写一个程序,找出第 n 个丑数。 丑数就是只包含质因数 2, 3, 5 的正整数。
之前写过怎么判断一个数是不是丑数,今天来做一下进阶编写一个程序,找出第 n 个丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。代码是写出来了 ,不过写的比较笨,运算过程中花费的时间比较长,希望有大佬能指点一下。有没有简化的办法。#...原创 2019-01-27 22:20:08 · 2406 阅读 · 0 评论 -
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于[n/2] 的元素。
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于[n/2] 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入 : [3, 2, 3]输出 : 3示例 2 :输入 : [2, 2, 1, 1, 1, 2, 2]输出 : 2思想方法:从第一个数开始count=1,遇到相同的就加1,遇到不同的就减1,减到0就重新换个数开始计数,总能找到最...原创 2019-01-22 22:39:16 · 3850 阅读 · 0 评论 -
给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 ..n 中没有出现在序列中的那个数。给定一个整数,写一个函数来判断它是否是 3 的幂次方。
给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 ..n 中没有出现在序列中的那个数。示例 1:输入 : [3, 0, 1]输出 : 2 示例 2 : 输入 : [9, 6, 4, 2, 3, 5, 7, 0, 1] 输出 : 8#define _CRT_SECURE_NO_WARNINGS #include <stdio.h&g...原创 2019-01-28 19:39:33 · 2227 阅读 · 0 评论 -
汉明距离 数字的补数
大家新年好!!! 过完年也该继续做题了。 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 2^31.示例:输入 : x = 1, y = 4输出 : 2 解释 : 1 (0 0 0 1) 4 (0 1 0 0) ...原创 2019-02-09 22:27:23 · 232 阅读 · 0 评论 -
盛最多水的容器
给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为(i, ai) 和(i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。 说明:你不能...原创 2019-02-10 22:11:43 · 138 阅读 · 0 评论 -
如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。
如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,以下数列为等差数列 :1, 3, 5, 7, 97, 7, 7, 73, -1, -5, -9以下数列不是等差数列。1, 1, 2, 5, 7数组 A 包含 N 个数,且索引从0开始。数组 A 的一个子数组划分为数组(P, Q),P 与 Q 是整数且满足 0 <= P<Q<N ...原创 2019-01-30 22:44:04 · 1223 阅读 · 0 评论 -
调整数组使奇数全部都位于偶数前面。
1.调整数组使奇数全部都位于偶数前面。题目:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>#include <stdlib.h>void Exchange(int arr[...原创 2019-01-09 20:04:33 · 247 阅读 · 0 评论 -
实现strStr(给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置(从0开始)。如果不存在,则返回 - 1。)
实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置(从0开始)。如果不存在,则返回 - 1。示例 1:输入 : haystack = “hello”, needle = “ll”输出 : 2示例 2 :输入 : haystack = “aaaaa”, needle = “...原创 2019-01-24 23:27:46 · 1266 阅读 · 0 评论 -
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。例如, 罗马数字 2 写做 II ,即为两个并列的 1
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12...原创 2019-01-14 20:32:13 · 10979 阅读 · 2 评论 -
C语言简单练习(2)
给定两个整形变量的值,将两个值的内容进行交换。不允许创建临时变量,交换两个数的内容(附加题)求10 个整数中最大值。 3.求10 个整数中最大值。将三个数按从大到小输出。 将三个数按从大到小输出。求两个数的最大公约数。求两个数的最大公约数。void jiaohuan(){ printf(" 给定两个整形变量的值,将两个值的内容进行交换。\n"); int a = 0; int...原创 2018-11-26 19:17:05 · 169 阅读 · 0 评论 -
C语言简单练习(3)
将数组A中的内容和数组B中的内容进行交换。(数组一样大)计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值。编写程序数一下 1到 100 的所有整数中出现多少次数字9。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <...原创 2018-11-26 19:22:13 · 162 阅读 · 0 评论 -
折半查找
折半查找的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如 果x我们只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列)。如果x>a[n/2],则我们只要在数组a的右 半部继续搜索x。写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回 - 1.(折半查找)#define _CRT_SECU...原创 2018-12-02 17:42:05 · 132 阅读 · 0 评论 -
C语言简单练习(5)
今天来做两道题。1.编写代码模拟三次密码输入的场景。最多能输入三次密码,密码正确,提示“登录成功”, 密码错误,可以重新输入,最多输入三次。三次均错,则提示退出程序。2.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。还是和往常一样 先写头文件#define _CRT_SECURE_NO_WARNING...原创 2018-12-02 18:35:11 · 188 阅读 · 0 评论 -
C语言简单练习(4)
2.求出100~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3,则153是一个“水仙花数”。在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。例如153、370、371及407就...原创 2018-11-28 20:22:38 · 232 阅读 · 0 评论 -
C语言练习(6)--函数
1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出9 * 9口诀表,输入12,输出12 * 12的乘法口诀表。2.使用函数实现两个数的交换。3.实现一个函数判断year是不是润年。4.创建一个数组,实现函数init()初始化数组、实现empty()清空数组、实现reverse()函数完成数组元素的逆置。要求:自己设计函数的参数,返回值。5.实现一个函数,判断一个数是...原创 2018-12-07 21:55:44 · 145 阅读 · 0 评论 -
递归应用 求第n个斐波那契数 实现n^k 输入一个非负整数,返回组成它的数字之和等等
递归可以使得在代码上更简洁明了。头文件#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>#include <stdlib.h>递归和非递归分别实现求第n个斐波那契数。斐波那契数指的是这样一个数列:1、1、2、3、5、8、13、21、34、……int Fbnq(int num){ //递归方法...原创 2018-12-24 21:04:38 · 461 阅读 · 0 评论 -
unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值。
1.编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回:...原创 2019-01-05 11:44:33 · 325 阅读 · 0 评论 -
5位运动员参加了10米台跳水比赛。日本某地发生了一件谋杀案..
1.5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>#include...原创 2019-01-02 09:01:00 · 254 阅读 · 1 评论 -
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。给定一个二进制数组, 计算其中最大连续1的个数。
之前做过一次这个题,不过当时做的很麻烦,这次来一个简化版下面是之前写的简化后#define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int singleNumber(int* nums, int numsSize) { int b=0; for(int i=0...原创 2019-01-17 21:42:53 · 1812 阅读 · 0 评论 -
将字符串进行旋转,例如ABCD旋转为BCDA。
1.实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB做题思路:将字符串旋转也就是将第一位放在最后一位去其他位依次向前移动,旋转几次也就是这样挪动几次#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>#include <stdlib.h>#include ...原创 2019-01-13 14:54:14 · 1398 阅读 · 0 评论 -
一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水, 给20元,可以买多少汽水
1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。我的想法:除了两个数字是单次出现外,其他都是都是两个成对出现。那我们可以先遍历数组,找出在这个数组中没有跟它相等的,然后输出就OK了。#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>#include <stdlib.h>...原创 2019-01-13 19:12:58 · 163 阅读 · 0 评论 -
删除排序数组的重复项(给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间)
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1, 1, 2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 num...原创 2019-01-18 22:27:33 · 3063 阅读 · 1 评论 -
编写一个程序判断给定的数是否为丑数。
今天这个题没难度 ,只是觉得名字有意思。来看看丑数就是只包含质因数 2, 3, 5 的正整数。示例 1:输入 : 6输出 : true解释 : 6 = 2 × 3示例 2 :输入 : 8输出 : true解释 : 8 = 2 × 2 × 2示例 3 :输入 : 14输出 : false解释 : 14 不是丑数,因为它包含了另外一个质因数 7。#define _CRT_S...原创 2019-01-19 22:58:52 · 3626 阅读 · 0 评论 -
买卖股票的最佳时机 II(设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易)
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入 : [7, 1, 5, 3, 6, 4]输出 : 7解释 : 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出...原创 2019-03-02 18:31:00 · 1385 阅读 · 0 评论