C
C相关内容
Codeapes
这个作者很懒,什么都没留下…
展开
-
剑指Offer :字符串的排列
文章目录1. 题目 11.1 示例1.2 解题思路1.3 代码实现2. 题目 22.1 示例2.2 解题思路2.3 代码实现3. 题目 33.1 解题思路3.2 代码实现1. 题目 1输入一个字符串,打印出该字符串中字符的所有排列。例如,输入字符串 abc,则打印出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。1.1 示例输入:abc输出:abcacbbacbcacbacab1.2 解题思路可以把一个字符串看成由两部分组成:第一原创 2020-06-26 23:11:49 · 297 阅读 · 0 评论 -
剑指Offer :树的子结构
文章目录1.题目2.示例3.解题思路4.代码实现1.题目输入两棵二叉树 A 和 B,判断 B 是不是 A 的子结构。2.示例树 A 3 / \ 4 5 / \ 1 2树B 4 / \ 1 2上面 B 是 A 的子结构,故返回 true。3.解题思路1.在树 A 中找到和树 B 的根结点的值一样的结点 Root。2.接着...原创 2020-02-07 22:32:26 · 155 阅读 · 0 评论 -
LeetCode :206.反转链表
文章目录1.题目2.示例3.解法探析3.1 解法 1:迭代法3.1.1 思路分析3.1.2 代码实现3.1.3 复杂度分析3.1.4 动态图解3.2 解法 2:递归法3.2.1 思路分析3.2.2 代码实现3.2.3 复杂度分析1.题目反转一个单链表。2.示例输入:1->2->3->4->5->NULL输出:5->4->3->2-&g...原创 2020-02-05 16:14:53 · 241 阅读 · 0 评论 -
剑指Offer :调整数组顺序使奇数位于偶数前面
文章目录1.题目2.解法探析2.1 解法 12.2 解法 22.3 解法 31.题目输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。2.解法探析2.1 解法 1若在不考虑时间复杂度的情况下,可以从头扫描这个数组,每碰到一个偶数,取出该数字,并把该数字后面的所有数字往前移一位。移完之后在数组的末尾有一个空位,再把该偶数放入...原创 2020-02-03 21:28:43 · 192 阅读 · 0 评论 -
剑指Offer :删除链表的结点
文章目录1.题目 11.1 题目分析1.2 代码实现2.题目 22.1 题目分析2.2 代码实现1.题目 1在 O(1)时间内删除链表结点。给定单向链表的头指针和一个结点指针,定义一个函数在 O(1)时间内删除该结点。1.1 题目分析在单链表中删除一个结点,常规做法是从链表的头结点开始,顺序遍历查找要删除的结点,并在链表中删除该结点,但这种方式的时间复杂度为 O(n),与题目要求不符。...原创 2020-02-03 21:18:48 · 201 阅读 · 0 评论 -
剑指Offer :打印从 1 到最大的 n 位数
文章目录1.题目2.解法探析2.1 解法 12.2 解法 22.2.1 Print1ToMaxOfNDigits函数2.2.2 Increment函数2.2.3 PrintNumber函数2.3 解法 32.3.1 Print1ToMaxOfNDigits函数2.3.2 Print1ToMaxOfNDigitsRecursively函数1.题目输入数字 n,按顺序打印出从 1 到最大的 n 位...原创 2020-02-02 12:15:04 · 323 阅读 · 2 评论 -
剑指Offer-二进制中的1的个数
文章目录1.题目2.必备知识-原码、反码与补码2.1 原码2.2 反码2.3 补码2.4 总结3.解法探析3.1 解法13.2 解法23.3 解法31.题目输入一个整数,输出该数二进制表示中1的个数。2.必备知识-原码、反码与补码2.1 原码将最高位作为符号位(以0代表正,1代表负),其余各位代表数值本身的绝对值(以二进制表示)。如果是8位二进制,则:+1 的原码为:0000 0...原创 2020-01-29 10:59:42 · 227 阅读 · 0 评论 -
GitHub开源项目推荐
GitHub作为全球最大的同性交友网站,上面有太多大佬分享的开源项目值得我们借鉴和学习。接下来就分享一下我入坑GitHub以来学习或收藏的一些好的开源项目。文章目录1.LeetCodeAnimation2.Crash-Course-Computer-Science-Chinese3.interview4.halo5.awesome-mac6.coding-interview-university...原创 2020-01-11 13:55:25 · 1639 阅读 · 0 评论 -
字符串分割SplitString
C/C++中常用的字符串切割函数有strtok、strtok_s与strtok_r。文章目录1.strtok函数2.strtok_s函数3.strtok_r函数4.SplitString实现1.strtok函数char* strtok(char* str, const char* delim);分解字符串str为一组字符串,delim为分隔符。当strtok在參数str的字符串中发现參...原创 2019-11-23 18:53:43 · 610 阅读 · 0 评论 -
大数阶乘(N! Plus)问题
描述有一个正整数N,其中0 < N < 10000,求N的阶乘。样例输入66样例输出544344939077443064003729240247842752644293064388798874532860126869671081148416000000000000000计算思路将正整数N从1到N逐位相乘,即1 * 2 * 3… * (N-1) * N。每次相乘后的值会...原创 2019-06-30 10:33:54 · 2827 阅读 · 2 评论 -
大数减法(A - B Problem Plus)问题
解题思路:flagA为0表示A为正整数,为-1表示A为负整数;flagB为0表示B为正整数,为2表示B为负整数;而 flag = flagA + flagB。1.当 flag == 0 表示数A为正整数,数B为正整数,则A - B 可能是正整数或负整数;当 flag == 1 表示数A为负整数,数B为负整数,则A - B 可能是正整数或负整数。因为差值可能是正整数,也可能是负整数,所以采...原创 2019-07-07 18:51:33 · 1987 阅读 · 0 评论 -
大数乘法(A * B Problem Plus)问题
解题思路第1步第2步第3步第4步问题描述有两个整数A和B,每个数最大值不超过1000位,求A * B的值。输入输入一个数A和数B,用空格隔开。输出输出A * B的值。样例输入156 744样例输出1800样例输入2-10 678样例输出2-6780样例输入31234567890 45678901234样例输出35639370471397...原创 2019-06-21 21:27:52 · 1445 阅读 · 0 评论 -
大数加法(A + B Problem Plus)问题
描述有两个正整数A和B,每个数最大值不超过1000位,求A + B = sum。输入第一行输入一个整数N(1 ≤ N ≤ 100),代表测试样例的个数;接下来的N行,每行包含一个数A和数B,以空格隔开。输出将每个测试样例的A + B = sum输出,每个样例之间以空行隔开。样例输入318 2256 74453234673473 7544645548767样例输出Case...原创 2019-06-15 21:10:31 · 6330 阅读 · 0 评论 -
Sublime text3配置C/C++编译环境
安装sublime text3后,一直很喜欢使用它看代码(这个高亮配色真的很好看)。它默认的运行环境就有C/C++,在写了一个hello world!后正常输出,但在使用scanf()作为输入后无法输入,这就很尴尬了。在网上搜了一下,这个问题好像无解,只能自己安装gcc/g++,然后配置一下,通过调用命令窗口解决。这里简单记录一下配置过程。一.准备工作下载sublime text3,并安装...原创 2019-05-18 19:09:33 · 1311 阅读 · 0 评论 -
Olympic Game
描述:每次奥运会期间,大家都非常关注奖牌榜排名的情况。现在我们假设奖牌榜的排名规则,按优先级从高到低如下:1、金牌 数量多的排在前面;2、银牌 数量多的排在前面;3、铜牌 数量多的排在前面;4、若以上三个条件仍无法区分名次,则以国家名称的字典序排列。我们假设国家名称不超过20个字符、各种奖牌数不超过100,且大于等于0。输入:第一行输入一个整数N(0<N<21),代表...原创 2019-06-07 23:11:13 · 3185 阅读 · 0 评论 -
公共字串计算
计算两个字符串的最大公共字串的长度,字符不区分大小写。详细描述:接口说明原型:int getCommonStrLength(char * pFirstStr, char * pSecondStr);输入参数:char * pFirstStr //第一个字符串char * pSecondStr//第二个字符串C程序#include<stdio.h>#include&l...原创 2019-05-17 21:14:06 · 1020 阅读 · 0 评论 -
字符串匹配
判断短字符串中的所有字符是否在长字符串中全部出现。输入描述:输入两个字符串。第一个为短字符,第二个为长字符。输出描述:返回值:0示例输入bcabc输出true#include <stdio.h>#include<string.h> int main(){ char SStr[1000]; // 短字符串 char LS...原创 2019-05-25 16:01:46 · 1113 阅读 · 0 评论 -
最小公倍数
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,请设计一个算法,求输入A和B的最小公倍数。输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。示例输入15 27输出135#include<stdio.h> // 求最大公约数(辗转相除法)int gcd(int m, int n){ while (n != 0...原创 2019-06-01 21:00:40 · 1337 阅读 · 0 评论