前言
概念介绍
- 在上一节“算法:什么是分糖果问题?”中我们已经详细的描述了分糖果问题的基本概念,在这里我们就不再赘述。
- 下面我们用具体的例子来说明解该问题的原理
原理讲解
- 首先初始化每个人一个糖果,然后这个算法通过遍历两遍来解决这个问题。
- 第一遍我们从左向右进行遍历。如果右边的小朋友的等级高,就给右边的小朋友加一个糖果,这样保证从左到右这个方向上高等级的小朋友分的糖果多。
- 再从右向左遍历一遍,如果相邻两个小朋友左边的等级高,而左边的糖果又少的话,则左边小朋友分的糖果数为右边小朋友分的糖果数加一。
- 最后再把所有小朋友的糖果数都加起来即可。
效果展示
说明
- 在公众号中回复“算法源码”即可获取十大经典排序算法源码
- 在公众号中回复“算法书籍”即可获取经典入门算法书籍
- 在公众号中回复“数据结构”即可获取数据结构相关源码
- 注:开发环境为Qt5.12.4