算法
算法思路与实现
阿基米东
本科毕业于国内某知名双非理工大学,当过校队球员,后自学编程,专注于嵌入式软件开发十余年,在物联网、机器人、汽车等领域拥有实战经验,也是多个开源项目的贡献者,对 Web 前后端、AI 技术略知一二。立志成为一名杰出的开源创客,让世界因我而变得更美好!
展开
-
编程练习——求最小公倍数
求最小公倍数时间限制:1秒空间限制:32768K描述正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入:两个正整数 A 和 B。输出:A 和 B 的最小公倍数。例如,输入 5 7,输出 35。分析我们知道,两个数的乘积等于这两个数的最大公约数与最小公倍数的乘积。如果 [a, b] 表示 a...原创 2019-10-28 17:10:26 · 2349 阅读 · 0 评论 -
编程练习——地下迷宫
地下迷宫时间限制:1秒空间限制:32768K描述小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值 P 跳出这个地下迷宫。为了让问题简单,假设这是一个 n*m 的格子迷宫,迷宫每个位置为 0 或者 1,0 代表这个位置有障碍物,小青蛙达到不了这个位置;1 代表小青蛙可以达到的位置。小青蛙初始在 (0,0) 位置,地下迷宫的出口在 (0,m-1)(保证这两个位置都是 1,...原创 2019-10-18 17:56:11 · 528 阅读 · 1 评论 -
编程练习——完全数计算
完全数计算时间限制:1秒空间限制:32768K描述完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数 count(int n),用于计算 n 以内 (含n) ...原创 2019-10-16 11:11:59 · 951 阅读 · 0 评论 -
编程练习——字符串反转
字符串反转时间限制:1秒空间限制:32768K描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。输入 N 个字符输出该字符串反转后的字符串示例:输入 abcd,输出 dcbaC 代码实现#include <stdio.h>#include <string.h>int main(void){ char str[128]; ...原创 2019-10-17 09:17:14 · 1355 阅读 · 0 评论 -
编程练习——杨辉三角
输出杨辉三角形时间限制:1秒空间限制:32768K描述输入 n 值,使用递归函数,求杨辉三角形中各个位置上的值。输入描述:一个大于等于 2 的整型数 n。输出描述:题目可能有多组不同的测试数据,对于每组输入数据,按题目的要求输出相应输入 n 的杨辉三角形。例如,输入 6,输出:1 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1...原创 2019-10-15 11:21:05 · 1060 阅读 · 0 评论 -
编程练习——杨辉三角的变形
时间限制:1秒空间限制:32768K描述 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 11 4 10 16 19 16 10 4 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3 个数之和(如果不存在某个数,认为该...原创 2019-10-14 17:59:43 · 542 阅读 · 0 评论 -
编程练习——公共字串计算
描述计算两个字符串的最大公共字串的长度,字符不区分大小写。时间限制:C/C++ 1秒,其他语言 2秒空间限制:C/C++ 32768K,其他语言 65536K接口说明原型:int getCommonStrLength(char* pFirstStr, char* pSecondStr);输入参数:pFirstStr:第一个字符串pSecondStr:第二个字符串C代码...原创 2019-10-12 13:37:55 · 263 阅读 · 0 评论 -
算法介绍——快速排序
快速排序快速排序是最常用的排序算法。举例说明假设我们要对 “6 1 2 7 9 3 4 5 10 8” 这 10 个数进行排序。C代码实现#复杂度分析原创 2019-10-11 00:17:33 · 48695 阅读 · 0 评论 -
算法介绍——冒泡排序
冒泡排序冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。举例说明假如我们需要将 12 35 99 18 76 这 5 个数进行从大到小的排序。我们可以这么做:首先比较第 1 位和第 2 位的大小,现在第 1 位是 12,第 2 位是 35。发现 12 比 35 要小,因为我们希望小的排在后面,因此需要交换这两个数的位置。交换之后这 5 个数的顺序是 35...原创 2019-10-10 16:23:35 · 975 阅读 · 0 评论 -
算法介绍——桶排序
桶排序桶排序是最快最简单的排序算法。案例介绍假设班上有 5 个学生,这 5 个学生分别考了 5分、3分、5分、2分和 8分(满分是10分 ^_^)。接下来将分数按从大到小进行排序,排序后是 8 5 5 3 2。如何编写一段程序,让计算机随机读入 5 个数然后将这 5 个数从大到小输出?只需要借助一个一维数组就可以解决这个问题。首先我们需要申请一个大小为 11 的数组 int a[11...原创 2019-10-09 15:18:03 · 674 阅读 · 0 评论