自从开始做公众号开始,就一直在思考,怎么把算法的训练做好,因为思海同学在算法这方面的掌握确实还不够。因此,我现在想做一个“365算法每日学计划”。
“计划”的主要目的:
1、想通过这样的方式监督自己更努力的学习算法。
2、想和小伙伴们“组团”一起来学习交流学习算法过程中的点点滴滴。
“计划”的主要内容:
1、数据结构和算法的基础知识巩固。
2、逐步进阶的oj算法训练。
“计划”的时间安排:每周三和周六
——说在前面
365算法每日学计划
发表于2018-07-14思海同学
"算法每日学计划"06打卡:
问题描述
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1
输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9
注:题目简单,解法不少于10种,踊跃发言。
可以查看公众号的
冒泡排序算法
,公众号将逐步更新排序算法。
365算法每日学计划
发表于2018-07-14思海同学
“算法每日学计划”07打卡:
问题描述
求出区间[a,b]中所有整数的质因数分解。
输入格式
输入两个整数a,b。
输出格式
每行输出一个数的分解,形如k=a1a2a3…(a1
样例输入
3 10
样例输出
3=3
4=225=56=23
7=7
8=222
9=3310=25
提示
先筛出所有素数,然后再分解。
数据规模和约定
2
365算法每日学计划
发表于2018-07-14思海同学
“算法每日学计划”08打卡:
问题描述
给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关
系是以下4中情况之一:
1:两个字符串长度不等。比如 Beijing 和 Hebei
2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如
Beijing 和 Beijing
3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完
全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing
4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比
如 Beijing 和 Nanjing
编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号
。
输入格式
包括两行,每行都是一个字符串
输出格式
仅有一个数字,表明这两个字符串的关系编号
样例输入
BEIjing
beiJing
样例输出
3
注意:简单题目
365算法每日学计划
发表于2018-07-14思海同学
“算法每日学计划”09打卡:
问题描述
给定一个N阶矩阵A,输出A的M次幂(M是非负整数)
例如:
A =
1 2
3 4
A的2次幂
7 10
15 22
输入格式
第一行是一个正整数N、M(1
接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值
输出格式
输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格
隔开
样例输入
2 2
1 2
3 4
样例输出
7 10
15 22
365算法每日学计划
发表于2018-07-14思海同学
“算法每日学计划”10打卡:
问题描述
亚洲微软研究院所在的希格玛大厦一共有6部电梯。在高峰时间,每层都有人上下,电梯在每层都停。实习生小飞常常会被每层都停的电梯弄得很不耐烦,于是他提出了这样一个办法:
由于楼层并不算太高,那么在繁忙的上下班时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。所有乘客从一楼上电梯,到达某层后,电梯停下来,所有乘客再从这里爬楼梯到自己的目的层。在一楼的时候,每个乘客选择自己的目的层,电梯则自动计算出应停的楼层。
问:电梯停在哪一层楼,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少。
问题分析
该问题本质上是一个优化问题。
首先为这个问题找到一个合适的抽象模型。
有两个因素会影响结果:乘客的数目和乘客的目的楼层。
思路:假设电梯现在停在第i层,i层以下的人有N1个,i层有N2个,i层以上的人有N3个,当前需要走的楼梯数为Y。当电梯再往上走一层时,i层及i层以下的人一共需要多走N1+N2步,而i层以上的人则一共少走了N3步,所以当N1+N2时,电梯应该继续往上走。
Java代码:
另外,思海同学还创建了一个“算法每日学交流社区”,如果有想加入的小伙伴,可以扫一下下面的二维码加我为好友,我拉你入群(加群请备注:“算法”)。
领取专属 10元无门槛券
私享最新 技术干货