77组合

给定两个整数 n 和 k,返回 1 ... 中所有可能的 k 个数的组合。

示例:

输入: n = 4, k = 2
输出:
[
  [2,4],
  [3,4],
  [2,3],
  [1,2],
  [1,3],
  [1,4],
]

最容易想到的应该是回溯,更多题目思路及代码见:https://github.com/CallmeZhouxiaolun/leetcode/tree/master/ordered/71to80

class Solution {
public:
    vector<vector<int>> combine(int n, int k) {
        vector<vector<int>> res;
        vector<int> cb;
        backtracking(res, cb, n, k,1);
        return res;
    }
    void backtracking(vector<vector<int>>& res, vector<int>& cb, int n, int k, int c){
        if(cb.size() == k){
            res.push_back(cb);
            return;
        }
        for(int i=c; i<=n; i++){
            cb.push_back(i);
            backtracking(res, cb, n, k, i+1);
            cb.pop_back();
        }
    }
};

后来看到大佬的做法,有迭代方法,

class Solution {
public:
    vector<vector<int>> combine(int n, int k) {
        vector<vector<int>> res;
        vector<int> cb;
        backtracking(res, cb, n, k,1);
        return res;
    }
    void backtracking(vector<vector<int>>& res, vector<int>& cb, int n, int k, int c){
        if(cb.size() == k){
            res.push_back(cb);
            return;
        }
        for(int i=c; i<=n; i++){
            cb.push_back(i);
            backtracking(res, cb, n, k, i+1);
            cb.pop_back();
        }
    }
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Fortran 77 中,可以使用逻辑运算符 .AND. 来表示逻辑与(and)操作。在 IF 语句中使用逻辑与操作时,需要将多个逻辑条件用 .AND. 连接起来,例如: ``` IF (A .GT. B .AND. C .LT. D) THEN ! 这里是 IF 语句的执行体 ENDIF ``` 以上代码中,使用 .AND. 将两个逻辑条件连接起来,表示 A 大于 B 并且 C 小于 D,只有当两个逻辑条件都满足时,IF 语句的执行体才会被执行。需要注意的是,在 IF 语句中,每个逻辑条件都必须用括号括起来,否则会出现语法错误。另外,括号的嵌套顺序也非常重要,应该按照逻辑运算的优先级来确定。 ### 回答2: FORTRAN 77是一种编程语言,它最初于1977年推出。它是第一个被广泛接受和采用的高级编程语言之一。FORTRAN代表Formula Translation,它的设计初衷是用于科学和工程领域的数值计算和数学应用。这个版本的FORTRAN引入了很多新的特性和语法,使得编写和维护大型程序更加容易。 FORTRAN 77的“if”和“and”是这个编程语言中的两个关键字。关键字是编程语言中的保留词,它们具有特殊的含义和用途。 “if”是用来执行条件语句的。它允许我们根据条件的真假来执行不同的代码块。在FORTRAN 77中,“if”语句的语法是: IF (condition) THEN statement1 ELSE statement2 END IF 这里,我们可以根据“condition”的真假执行不同的“statement”。 “and”是逻辑运算符之一。它用来组合多个条件,只有当所有条件都为真时,整个条件才为真。在FORTRAN 77中,“and”逻辑运算符的表现形式是“.AND.”。例如: IF (condition1 .AND. condition2) THEN statement END IF 这里,只有当“condition1”和“condition2”都为真时,才执行“statement”。 综上所述,FORTRAN 77中的“if”和“and”是用来进行条件语句和逻辑运算的关键字。使用它们,我们可以编写出复杂和有逻辑的程序,用于解决科学、工程和数学领域的问题。 ### 回答3: fortran77 是一种编程语言,用于科学计算和工程应用,是Fortran语言的一个重要版本。if语句是fortran77中的一个条件判断结构,用于根据某个条件的真假来决定是否执行特定的代码块。在fortran77中,if语句的用法如下: ``` if (condition) then ! some code to be executed if the condition is true else ! some code to be executed if the condition is false end if ``` 其中,condition 是一个逻辑表达式,可以使用比较运算符(如==、/=、<、>、<=、>=)及逻辑运算符(如.and.、.or.、.not.)进行条件判断。 对于if语句的执行流程,如果condition的结果为真,则执行if代码块中的代码;如果condition的结果为假,则执行else代码块中的代码。 对于fortran77编程,if语句是非常基础和常用的控制结构之一,可以用来实现条件判断和分支执行。通过合理地使用if语句,可以根据不同的条件来执行不同的代码,实现灵活的程序逻辑。在科学计算和工程应用中,if语句在处理大量数据和求解复杂问题时具有重要作用,能够增强程序的适应性和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值