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并且获得输入,再定义数组。
相关推荐
gihigo199810 分钟前
MATLAB数值分析方程求解方法详解
算法·机器学习·matlab
程序员buddha4 小时前
C语言数组详解
c语言·开发语言·算法
蒙奇D索大5 小时前
【算法】递归算法的深度实践:从布尔运算到二叉树剪枝的DFS之旅
笔记·学习·算法·leetcode·深度优先·剪枝
卡提西亚6 小时前
C++笔记-25-函数模板
c++·笔记·算法
ghie90906 小时前
MATLAB/Simulink水箱水位控制系统实现
开发语言·算法·matlab
多多*6 小时前
分布式系统中的CAP理论和BASE理论
java·数据结构·算法·log4j·maven
yuan199976 小时前
基于粒子群优化(PSO)算法的PID控制器参数整定
算法
程序员三藏7 小时前
快速弄懂POM设计模式
自动化测试·软件测试·python·selenium·测试工具·设计模式·职场和发展
小白程序员成长日记7 小时前
2025.11.10 力扣每日一题
数据结构·算法·leetcode
hoiii1877 小时前
基于交替方向乘子法(ADMM)的RPCA MATLAB实现
人工智能·算法·matlab