当前位置:首页 > 公众号精选 > 程序喵大人
[导读]最初do...while的出现,更多的是作为循环控制流的一种语法糖。因为不论是while还是for循环,都是要先判断是否满足进入循环体的条件的。满足条件之后才能进入循环去执行循环体内的操作。而有些时候,第一次的执行逻辑我们不需要满足循环条件,也要执行。这时候就可以用do...wh...

最初do ... while的出现,更多的是作为循环控制流的一种语法糖。因为不论是while 还是 for循环,都是要先判断是否满足进入循环体的条件的。满足条件之后才能进入循环去执行循环体内的操作。

而有些时候,第一次的执行逻辑我们不需要满足循环条件,也要执行。这时候就可以用do ... while。举个例子,前几天的LeetCode每日一题 869. 重新排序得到2的幂,刚好遇到这么一个场景:

给定正整数 N ,我们按任何顺序(包括原始顺序)将数字重新排序,注意其前导数字不能为零。如果我们可以通过上述方式得到 2 的幂,返回 true;否则,返回 false。

https://leetcode-cn.com/problems/reordered-power-of-2/

解题偷懒的话,可以直接用STL的排列相关的函数next_permutation来解答:

class Solution {
public:
    bool reorderedPowerOf2(int n) {
        auto check = [](int n) {
            return (n
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。

程序喵大人

185 篇文章

关注

发布文章

编辑精选

技术子站

关闭