LeetCode刷题计划

LeetCode刷题计划

推荐 代码随想录:https://github.com/youngyangyang04/leetcode-master


卡码网 练习ACM模式 https://kamacoder.com/

01

cpp 复制代码
#include <iostream>
using namespace std;


int main()
{
    int a ,b;
    
    while(cin>>a>>b){
    
    cout<<a+b<<endl;
    
    }
    
    return 0;
}
python 复制代码
while True:
    try:
        a,b = map(int,input().split())
        print(a+b)
    except EOFError:
        break

注意:

  • try和except配套用
  • python输入是使用a = int(input())
  • 输入一行,使用map(int,input().split())
  • 遇到说潜在的指针越界就是没有break

02

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int a, b, n;
    
    while(cin>>n){
        for (int i = 0; i < n; ++i) {
        cin >> a >> b;
        cout << a + b << endl;
    }
        }
   
    return 0;
}




#include <iostream>
using namespace std;

int main(){
    int n;
    int a,b;
    while(cin>>n)
      { 
        while(n>0){
        cin>>a>>b;
        cout<<a+b<<endl;
        n--;
        
    }
}
    return 0;
    
}
python 复制代码
try:
    while True:
        n = int(input())  # 输入行数
        for _ in range(n):
            a, b = map(int, input().split())
            print(a + b)
except EOFError:
    pass  # 捕获EOFError异常,结束循环

注意:

  • #include <bits/stdc++.h>是万能头文件
  • python的单个循环可使用for _ in range(n):

03

cpp 复制代码
#include <bits/stdc++.h>

int main(){
    int a ,b ;
    while(true){
    std::cin>>a>>b;
    if(a==0&&b==0)
        break;
    else 
        std::cout<<a+b<<std::endl;
    
    }
    return 0;
}
python 复制代码
while True:
    try:
        a,b = map(int,input().split())
        if a==b==0:
            break
        else:
            print(a+b)
        
    except EOFError:
        pass

04

cpp 复制代码
#include <iostream>
using namespace std;

int main(){
    
while(true){
    int n;
    cin>>n;
    if (n==0)
        break;
    else
    {
        int a[n];
        int sum=0;
        for(int i=0;i<n;++i)
        {
            cin>>a[i];
            sum = a[i]+sum;
            
        }
        cout<<sum<<endl;
    }
}
     return 0;
}
python 复制代码
while True:
    ls=input().split()
    if int(ls[0]) == 0:
        break
    else:
        nums = list(map(int,ls[1:]))
        ans = sum(nums)
        print(ans)
python 复制代码
while True:
    try:
       nums = list(map(int,input().split()))
       n = nums[0]
       if n==0 :
           break
       else:
           sum1=0
           for i in range(1,n+1):
               sum1=nums[i]+sum1
           print(sum1)
    except:
        break

注意:

  • python的列表 nums = list(map(int,ls[1:]))
  • 可以使用sum函数
  • for i in range() 是 Python 中的一个循环结构,用于迭代一定次数的操作。其中,range() 函数用于生成一个整数序列。

range() 函数的语法为:

range(stop)

range(start, stop[, step])

其中,start 表示序列的起始值(默认为0),stop 表示序列的终止值(不包括该值),step 表示序列的步长(默认为1)。

当 range() 函数只有一个参数时,它默认从0开始生成整数序列,其终止值为该参数减1。例如,range(5) 会生成一个包含5个整数的序列:0、1、2、3、4。

当 range() 函数有两个参数时,它从第一个参数指定的值开始生成整数序列,终止值为第二个参数指定的值减1。例如,range(2, 5) 会生成一个包含3个整数的序列:2、3、4。

当 range() 函数有三个参数时,它会按照第三个参数指定的步长生成整数序列。例如,range(0, 10, 2) 会生成一个包含5个整数的序列:0、2、4、6、8。

for i in range() 结构可以用于遍历 range() 函数生成的整数序列,对于每个整数,都会执行一次循环体中的操作。例如,下面的代码会输出从0到4的整数:

python

for i in range(5):

print(i)

输出结果为:

0

1

2

3

4

05

cpp 复制代码
#include <iostream>
using namespace std;


int main()
{
    int a,b;
    
    while(cin>>a>>b)
    {
        
        cout<<a+b<<endl;
        
        cout<<endl;
    }
    
    return 0;
}
python 复制代码
try:
    while True:
        a, b = map(int, input().split())
        print(a + b)
        print()
except EOFError:
    pass

注意:

  • C++输出空行:cout<<endl;
  • Python输出空行:print()或者print(' ')

06


cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    int N;
    cin >> N; // 读取N的值

    for (int i = 0; i < N; ++i) {
        int M;
        cin >> M; // 读取M的值
        int sum = 0;

        for (int j = 0; j < M; ++j) {
            int num;
            cin >> num; // 读取M个整数
            sum += num; // 累加每个整数
        }

        cout << sum << endl; // 输出M个整数的和
        if (i != N - 1) {
            cout << endl; // 每组输出之间输出一个空行,但最后一组不输出空行
        }
    }

    return 0;
}
python 复制代码
while True:
    try:
        n = int(input())
        while n > 0:
            n -= 1 
            nums = list(map(int,input().split()))
            ans = sum(nums[1:])
            print(ans)
            if n != 0:
                print()
    except:
        break

注意:

  • 使用数组记得要先定义n,m并且获得输入,再定义数组。
相关推荐
秋夫人7 分钟前
B+树(B+TREE)索引
数据结构·算法
梦想科研社42 分钟前
【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)
开发语言·算法·数学建模·matlab·无人机
Milo_K44 分钟前
今日 leetCode 15.三数之和
算法·leetcode
Darling_001 小时前
LeetCode_sql_day28(1767.寻找没有被执行的任务对)
sql·算法·leetcode
AlexMercer10121 小时前
【C++】二、数据类型 (同C)
c语言·开发语言·数据结构·c++·笔记·算法
Greyplayground1 小时前
【算法基础实验】图论-BellmanFord最短路径
算法·图论·最短路径
蓑 羽1 小时前
力扣438 找到字符串中所有字母异位词 Java版本
java·算法·leetcode
源代码:趴菜1 小时前
LeetCode63:不同路径II
算法·leetcode·职场和发展
严格格1 小时前
三范式,面试重点
数据库·面试·职场和发展
儿创社ErChaungClub1 小时前
解锁编程新境界:GitHub Copilot 让效率翻倍
人工智能·算法