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,ls1:))
  • 可以使用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并且获得输入,再定义数组。
相关推荐
江畔柳前堤3 小时前
大语言模型分布式训练:从并行策略到万卡工程的系统梳理
人工智能·分布式·深度学习·算法·目标检测·机器学习·语言模型
Forever Nore4 小时前
LeetCode 4 寻找两个正序数组的中位数 - 二分
算法·leetcode
罗西的思考5 小时前
【OpenClaw具身硬件】MiniClaw 阅读笔记---(1)基础
人工智能·算法·机器学习
蛋先生DX6 小时前
大模型参数存储格式揭秘:BF不是男朋友
深度学习·算法·llm
爱跳舞的烤冷面7 小时前
自学嵌入式第22天(数据结构——哈希)
数据结构·算法·哈希算法
猎嘤一号7 小时前
博弈论(Game Theory)的理论、算法与工程
人工智能·算法·安全·博弈论
月光船幽幽7 小时前
影子模式下保护 logits 不被修改
人工智能·python·算法
马拉AI7 小时前
腾讯开源 Agent 记忆系统,AI“换对话就忘”的问题有了新解法(附安装使用教程)
人工智能·算法·开源·科研
地平线开发者9 小时前
征程6工具链模型X86推理方式说明
算法
地平线开发者9 小时前
【征程6】校准量化中HistogramObserver解析
算法