解决一个问题,我们给定一个包含盒子尺寸的数组。现在我们有一个条件,如果大盒子的尺寸至少是小盒子的两倍,那么我们可以把小盒子放进大盒子里。现在我们必须确定有多少个可见的盒子,例如。
Input : arr[] = { 1, 3, 4, 5 }Output : 3Put a box of size 1 in the box of size 3.Input : arr[] = { 4, 2, 1, 8 }Output : 1
登录后复制
找到解决方案的方法
在这个问题中,我们的方法是在前进的过程中对数组进行排序。我们现在将元素推入队列。随着我们的进展,我们将检查当前元素是否大于或等于队列前面的元素的两倍。如果是真的,我们现在弹出前面的元素。最后,我们将当前元素推入队列。我们的答案将是队列在最后的大小。
示例
#include using namespace std;int main(){ int arr[] = { 1, 2, 3, 4, 5, 6 }; // given array containing the size of our boxes int n = sizeof(arr) / sizeof(arr[0]); // size of our array queue q; sort(arr, arr + n); // sorting our array q.push(arr[0]); // pushing the smallest element in the front for (int i = 1; i = 2 * curr) // if the size of the current box is greater than twice // of the box in front so we pop the front q.pop(); q.push(arr[i]); // pushing the current element in the queue } cout输出
3登录后复制
结论
在本教程中,我们解决了一个问题,即在将一个盒子放入另一个盒子后找到可见盒子的数量。我们还学习了该问题的 C++ 程序以及解决该问题的完整方法(普通)。我们可以用其他语言比如C、java、python等语言来编写同样的程序。我们希望本教程对您有所帮助。
以上就是C++程序:找出将一个盒子放入另一个盒子后可见的盒子数量的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2582198.html