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并且获得输入,再定义数组。
相关推荐
LNTON羚通4 小时前
摄像机视频分析软件下载LiteAIServer视频智能分析平台玩手机打电话检测算法技术的实现
算法·目标检测·音视频·监控·视频监控
哭泣的眼泪4085 小时前
解析粗糙度仪在工业制造及材料科学和建筑工程领域的重要性
python·算法·django·virtualenv·pygame
清炒孔心菜5 小时前
每日一题 LCR 078. 合并 K 个升序链表
leetcode
Microsoft Word6 小时前
c++基础语法
开发语言·c++·算法
天才在此6 小时前
汽车加油行驶问题-动态规划算法(已在洛谷AC)
算法·动态规划
莫叫石榴姐7 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
茶猫_8 小时前
力扣面试题 - 25 二进制数转字符串
c语言·算法·leetcode·职场和发展
肥猪猪爸10 小时前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
readmancynn10 小时前
二分基本实现
数据结构·算法
萝卜兽编程10 小时前
优先级队列
c++·算法