可视化讲解:什么是分糖果问题?

258 阅读1分钟

前言

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

概念介绍

  • 在上一节“算法:什么是分糖果问题?”中我们已经详细的描述了分糖果问题的基本概念,在这里我们就不再赘述。
  • 下面我们用具体的例子来说明解该问题的原理

原理讲解

  1. 首先初始化每个人一个糖果,然后这个算法通过遍历两遍来解决这个问题。
  2. 第一遍我们从左向右进行遍历。如果右边的小朋友的等级高,就给右边的小朋友加一个糖果,这样保证从左到右这个方向上高等级的小朋友分的糖果多。
  3. 再从右向左遍历一遍,如果相邻两个小朋友左边的等级高,而左边的糖果又少的话,则左边小朋友分的糖果数为右边小朋友分的糖果数加一。
  4. 最后再把所有小朋友的糖果数都加起来即可。

效果展示

在这里插入图片描述

说明

  • 在公众号中回复“算法源码”即可获取十大经典排序算法源码
  • 在公众号中回复“算法书籍”即可获取经典入门算法书籍
  • 在公众号中回复“数据结构”即可获取数据结构相关源码
  • 注:开发环境为Qt5.12.4