小white刷题记——LeetCodeHot100_31

Leetcode31题——《下一个排列》

读题思路:这道题其实就是求比所给排列大一丢丢的数字,例如:nums = [1,2,3],那么就是123<132<213<231<312<321,也就是当 “1,2,3” 的下一个排列就是“1,3,2”,“1,3,2”的下一个排列就是 “2,1,3”,同理,注意到最后一个排列也就是最大的数的时候 “3,2,1”的下一个排列就是开头的 “1,2,3”了。所以最直接的做法就是把数组中的数字的可能的排列都列出来,然后从小到大排列,然后找比它大一点的排列就可以了。我感觉这道题还是可以用回溯做出来,之后回头来看看这个代码。

参考思路和代码:

参考链接:下一个排列算法详解:思路+推导+步骤,看不懂算我输! - 下一个排列 - 力扣(LeetCode)

void nextPermutation(vector<int>& nums) {
        int n = nums.size();
	    if (n <= 1)
	    {
		    return;
    	}
	    int i = n - 2, j = n - 1, k = n - 1;
	    while (i >= 0 && nums[i] >= nums[j])
	    {
	    	--i;
	    	--j;
	    }
	    if (i >= 0)
	    {
	    	while (nums[i] >= nums[k]) --k;
	    	swap(nums[i], nums[k]);
    	}
        reverse(nums.begin() + j, nums.end());
    }

“ # 设置按钮的背景颜色 self.m_button1.SetBackgroundColour('#0a74f7') self.m_button1.SetForegroundColour('white') self.m_button2.SetBackgroundColour('#0a74f7') self.m_button2.SetForegroundColour('white') self.m_button3.SetBackgroundColour('#0a74f7') self.m_button3.SetForegroundColour('white') self.m_button4.SetBackgroundColour('#238E23') self.m_button4.SetForegroundColour('white') self.m_button5.SetBackgroundColour('#238E23') self.m_button5.SetForegroundColour('white') self.m_button6.SetBackgroundColour('#238E23') self.m_button6.SetForegroundColour('white') self.m_button7.SetBackgroundColour('#6F4242') self.m_button7.SetForegroundColour('white') self.m_button8.SetBackgroundColour('#6F4242') self.m_button8.SetForegroundColour('white') self.m_button9.SetBackgroundColour('#6F4242') self.m_button9.SetForegroundColour('white') self.m_button10.SetBackgroundColour('#8E6B23') self.m_button10.SetForegroundColour('white') self.m_button11.SetBackgroundColour('#8E6B23') self.m_button11.SetForegroundColour('white') self.m_button12.SetBackgroundColour('#8E6B23') self.m_button12.SetForegroundColour('white') self.m_button13.SetBackgroundColour('#8E6B23') self.m_button13.SetForegroundColour('white') self.m_button14.SetBackgroundColour('#545454') self.m_button14.SetForegroundColour('white') self.m_button15.SetBackgroundColour('#545454') self.m_button15.SetForegroundColour('white') self.m_button16.SetBackgroundColour('#545454') self.m_button16.SetForegroundColour('white') self.m_panel1.SetBackgroundColour('white') # 设置面板的背景颜色”逐行解释代码
06-07
这段代码是用来设置图形用户界面中多个按钮和一个面板的背景和前景颜色的。具体解释如下: - `self.m_button1.SetBackgroundColour('#0a74f7')`:设置按钮1的背景颜色为蓝色。 - `self.m_button1.SetForegroundColour('white')`:设置按钮1的前景颜色为白色。 - `self.m_button2.SetBackgroundColour('#0a74f7')`:设置按钮2的背景颜色为蓝色。 - `self.m_button2.SetForegroundColour('white')`:设置按钮2的前景颜色为白色。 - `self.m_button3.SetBackgroundColour('#0a74f7')`:设置按钮3的背景颜色为蓝色。 - `self.m_button3.SetForegroundColour('white')`:设置按钮3的前景颜色为白色。 - `self.m_button4.SetBackgroundColour('#238E23')`:设置按钮4的背景颜色为绿色。 - `self.m_button4.SetForegroundColour('white')`:设置按钮4的前景颜色为白色。 - `self.m_button5.SetBackgroundColour('#238E23')`:设置按钮5的背景颜色为绿色。 - `self.m_button5.SetForegroundColour('white')`:设置按钮5的前景颜色为白色。 - `self.m_button6.SetBackgroundColour('#238E23')`:设置按钮6的背景颜色为绿色。 - `self.m_button6.SetForegroundColour('white')`:设置按钮6的前景颜色为白色。 - `self.m_button7.SetBackgroundColour('#6F4242')`:设置按钮7的背景颜色为红色。 - `self.m_button7.SetForegroundColour('white')`:设置按钮7的前景颜色为白色。 - `self.m_button8.SetBackgroundColour('#6F4242')`:设置按钮8的背景颜色为红色。 - `self.m_button8.SetForegroundColour('white')`:设置按钮8的前景颜色为白色。 - `self.m_button9.SetBackgroundColour('#6F4242')`:设置按钮9的背景颜色为红色。 - `self.m_button9.SetForegroundColour('white')`:设置按钮9的前景颜色为白色。 - `self.m_button10.SetBackgroundColour('#8E6B23')`:设置按钮10的背景颜色为橙色。 - `self.m_button10.SetForegroundColour('white')`:设置按钮10的前景颜色为白色。 - `self.m_button11.SetBackgroundColour('#8E6B23')`:设置按钮11的背景颜色为橙色。 - `self.m_button11.SetForegroundColour('white')`:设置按钮11的前景颜色为白色。 - `self.m_button12.SetBackgroundColour('#8E6B23')`:设置按钮12的背景颜色为橙色。 - `self.m_button12.SetForegroundColour('white')`:设置按钮12的前景颜色为白色。 - `self.m_button13.SetBackgroundColour('#8E6B23')`:设置按钮13的背景颜色为橙色。 - `self.m_button13.SetForegroundColour('white')`:设置按钮13的前景颜色为白色。 - `self.m_button14.SetBackgroundColour('#545454')`:设置按钮14的背景颜色为灰色。 - `self.m_button14.SetForegroundColour('white')`:设置按钮14的前景颜色为白色。 - `self.m_button15.SetBackgroundColour('#545454')`:设置按钮15的背景颜色为灰色。 - `self.m_button15.SetForegroundColour('white')`:设置按钮15的前景颜色为白色。 - `self.m_button16.SetBackgroundColour('#545454')`:设置按钮16的背景颜色为灰色。 - `self.m_button16.SetForegroundColour('white')`:设置按钮16的前景颜色为白色。 - `self.m_panel1.SetBackgroundColour('white')`:设置面板1的背景颜色为白色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值