📜  TCS Codevita 第 8 季采访 2019-诺伊达(1)

📅  最后修改于: 2023-12-03 14:47:52.552000             🧑  作者: Mango

TCS Codevita 第 8 季采访 2019-诺伊达

简介

TCS Codevita是由印度Tata Consultancy Services (TCS)公司举办的全球性编程比赛,旨在吸引世界各国最优秀的程序员参加。Codevita比赛拥有超过10万名来自不同国家和地区的程序员的参赛者。2019年,Codevita比赛推出了第8季,本次采访就是与该季冠军队伍“诺伊达”进行的。

参赛背景

队伍“诺伊达”是由来自印度尼西亚雅加达的3名大学生组成的。他们分别是:

  • Andre (队长)
  • Ega
  • Kevin
队伍介绍

本次采访,我们将详细了解“诺伊达”队伍的整体情况、比赛经验以及他们的一些技巧。

整体情况

在采访中,Andre 介绍说,“诺伊达”队伍是通过参加不同的比赛锻炼和提高,同时不断学习和掌握各种编程语言和算法,最终在TCS Codevita第 8 季中获得了冠军。

比赛经验

在 Codevita 比赛过程中,“诺伊达”队伍表示,比赛中的每一道题都很有挑战性。他们认为除了基础知识外,更重要的是如何快速解决每个问题并优化代码。Ega补充道,

"在比赛后期,优化代码非常重要,因为最后的排名会非常接近,一点点的时间优化就可能改变我们的排名"

技巧

在比赛过程中,队伍“诺伊达”表示,他们主要采用了以下技巧:

  • 结合实践学习 - Codevita 比赛考查的不仅是编程语言和算法的知识,还考验编程的实践能力和解决实际问题的能力。他们利用实际问题进一步磨练自己的综合解决问题能力。

  • 学习并掌握各种工具 - 在比赛中,工具非常重要,例如利用VsCode等IDE可以提升代码编写效率,而Github等版本控制工具可以方便地协作开发和实时共享代码。

  • 队员之间保持沟通 - 队员之间保持良好的沟通可以提高队伍之间的配合程度,快速地解决问题。而团队合作的精神也是比赛获胜的关键之一。

成为一名优秀的程序员

最后,队伍“诺伊达”想为正在走向一名优秀程序员的读者提出以下建议:

  • 利用竞赛和项目进一步提高技术水平 - 参加竞赛和开源项目可以帮助你更深入地学习和掌握一门编程语言或者某种算法。通过这些挑战,你将更快地强化自己的技能。

  • 坚持学习和练习 - 学习计算机技术需要持续不断的领悟和体悟,这需要你坚持学习。同时,不断练习 coding 也是非常重要的。只有不断地实践和体验才能使你更好地理解算法和编写高效的代码。

  • 多沟通、多交流 - 与编程圈内其他开发者建立联系和合作,对于进一步了解行业最新的发展动态和学习经验非常有帮助。

代码片段

以下代码片段在 Markdown 中的演示:

# Python
def fibonacci_series(n):
    if n==1:
        return [0]
    elif n==2:
        return [0,1]
    else:
        fib = [0,1]
        for i in range(2,n):
            fib.append(fib[-1]+fib[-2])
        return fib

print(fibonacci_series(10))
// Java
import java.util.ArrayList;
import java.util.Scanner;

public class Main{
    public static ArrayList<Integer> fibonacci_series(int n) {
        ArrayList<Integer> fib = new ArrayList<Integer>();
        if (n <= 0) {
            return fib;
        } else if (n == 1) {
            fib.add(0);
            return fib;
        } else if (n == 2) {
            fib.add(0);
            fib.add(1);
            return fib;
        } else {
            fib.add(0);
            fib.add(1);
            for (int i = 2; i < n; i++) {
                int next_fib = fib.get(i - 1) + fib.get(i - 2);
                fib.add(next_fib);
            }
            return fib;
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter the number of terms you want of the fibonacci series: ");
        int n = sc.nextInt();
        sc.close();
        System.out.println("The first "+n+ " terms of fibonacci series are: "+fibonacci_series(n));
    }
}
// CPP
#include<bits/stdc++.h>
using namespace std;

void fibonacci_series(int n) {
    int a = 0, b = 1, c;
    if(n==0){
        cout<<"Fibonacci series with "<<n<<" terms is empty\n";
        return;
    }
    if(n==1){
        cout<<"Fibonacci series with "<<n<<" term is 0\n";
        return;
    }
    cout<<"Fibonacci series with "<<n<<" terms is ";
    cout<<a<<" "<<b;
    for(int i=2;i<n;i++){
        c=a+b;
        cout<<" "<<c;
        a=b;
        b=c;
    }
    cout<<"\n";
}

int main(){
    int n; // number of terms of the fibonacci series
    cout<<"Enter the number of terms you want of the fibonacci series: ";
    cin>>n;
    fibonacci_series(n);
    return 0;
}