算法
文章平均质量分 64
lyp_1020k
这个作者很懒,什么都没留下…
展开
-
枚举-熄灯问题
问题描述:有一个由按钮组成的矩阵, 其中每行有6个按钮, 共5行。 每个按钮的位置上有一盏灯,当按下一个按钮后, 该按钮以及周围位置(上边, 下边, 左边, 右边)的灯都会改变状态– 如果灯原来是点亮的, 就会被熄灭– 如果灯原来是熄灭的, 则会被点亮 在矩阵角上的按钮改变3盏灯的状态 在矩阵边上的按钮改变4盏灯的状态 其他的按钮改变5盏灯的状态与一盏灯毗邻的多原创 2017-12-01 15:38:29 · 346 阅读 · 0 评论 -
枚举-拨钟问题
问题描述:有9个时钟,排成一个3*3矩阵。现在需要用最少的移动,将9个时钟的指针都拨到12点的位置。共允许有9种不同的移动。如下表所示,每个移动会将若干个时钟的指针沿顺时针方向拨动90度。输入:9个整数,表示各时钟指针的起始位置,相邻两个整数之间用单个空格隔开。其中,0=12点、1=3点、2=6点、3=9点。输出:输出一个最短的移动序列,使得9个时钟的指针都指向12点。按照原创 2017-12-02 13:00:56 · 1305 阅读 · 0 评论 -
递归-2的幂次方表示
问题描述原创 2017-12-04 22:31:41 · 594 阅读 · 0 评论 -
Maximum Subsequence Sum
最大子序列问题给定K个整数组成的序列{ N1, N2 , ..., NK},“连续子列”被定义为{ Ni , Ni+1 , ..., Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最原创 2018-03-13 20:33:03 · 263 阅读 · 0 评论 -
鸡尾酒排序算法
简介:鸡尾酒排序等于是冒泡排序的轻微变形。不同的地方在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得到比冒泡排序稍微好一点的效能,原因是冒泡排序只从一个方向进行比对(由低到高),每次循环只移动一个项目。原理:数组中的数字本是无规律的排放,先找到最小的数字,把他放到第一位,然后找到最大的数字放到最后一位。然后再找到第二小的数字放到第二位,再找到第二大的数字原创 2018-03-23 20:08:40 · 428 阅读 · 0 评论 -
求序列逆序数
序列逆序数:由1,2,…,n 组成的一个有序数组称为一个n级排列。在一个排列中如果一对数的前后位置与大小顺序相反,即大数排在小数的前面,则称它们为一个逆序。一个排列中所有逆序的总和称为该排列的逆序数。那么,如何求解一个序列的逆序数呢?暴力法是问题解的最简单的方法,下面给出核心代码:int InversionNumber(int num[], int N){ int count = 0原创 2018-05-01 19:02:26 · 1118 阅读 · 0 评论 -
程序运行时间(15)(PAT乙级)
题目描述要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用clock(),获得一个时钟打点数C1;在f执...原创 2018-06-13 12:58:16 · 186 阅读 · 0 评论 -
A除以B(20)(PAT乙级)
时间限制 1000 ms内存限制 32768 KB代码长度限制 100 KB题目描述本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入描述:输入在1行中依次给出A和B,中间以1空格分隔。输出描述:在1行中依次输出Q和R,中间以1空格分隔。输入例子:123456789050987654321 7输出例子:17636...原创 2018-06-16 23:06:14 · 218 阅读 · 0 评论