做TopCoder应注意什么

2024-06-24 03:32
文章标签 注意 topcoder

本文主要是介绍做TopCoder应注意什么,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文献给那些把c当作自己主要编程语言而且有一定c++基础,想做topcoder的人

1.topcoder的题目不需要标准输入输出cin,cout,scanf,printf,所有的参数都是通过函数参数传递的形式输入

 输出通过return返回。例如:

一般topcoder题都有如下的说明:


Class: Substitute

Method:getValue

Parameters:String, String

Returns:int

Method signature:

int getValue(String key, String code)


在这里你需要建一个类,名字叫Substitute,类里有一个函数

int getValue(String key, String code)


数据通过函数参数key和code传入,类似输入

通过return 返回,类似输出


所以topcoder的题都可以有这样一个模板:


#include <string>
#include <vector>
using namespace std;class   //这儿加上题目中具体的类名
{
public://这儿加上题目中具体的函数
};

2.vector类

topcoder的数组是用vector这个类定义的,关于这个类常用的函数有size( ),功能像字符数组的strlen一样,获取数组的长度。

比如你要定义一个int型数组你可以:vector <int> array;

array.size(); //获取array的长度

定义一个字符数组你可以:vector <char> array;

array的默认长度是0

其他类型以此类推

还有一点需要注意,那就是用vector定义的数组可以任意长,而且可以像c的数组那样访问具体元素

比如你可以通过array[0]访问array的第一个元素,通过array[i]访问array的第i个元素


3.string类

在topcoder里字符串是通过用string定义的变量传入函数的,也是通过string定义的变量返回的

它也有一个常用函数size( ),用来获取字符串长度。

它也可以像c里的数组那样访问字符串里的每个字符。

string s = "Hello";

s[0] = 'H'; //s变成了"hello"


以下是一个具体的topcoder程序,不必理会程序具体功能,只是告诉你topcoder的程序应该是什么格式


#include <string>
#include <vector>
using namespace std;class Chooser {
public:int numSets(vector<int> a, vector<int> b, vector<int> c) {int sum = 0;for (int i = 0; i < a.size(); i++) {for (int j = 0; j < b.size(); j++) {for (int k = 0; k < c.size(); k++) {int n = a[i] + b[j] + c[k];if (n >= 60 && n <= 75) {sum++;}}}}return sum;}
};

除去模板,你会发现在函数体里的具体实现,语法和c差不多

有了上述知识,你可以像写c程序一样在类里的函数里写程序了


这篇关于做TopCoder应注意什么的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1089052

相关文章

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

SpringMVC入参绑定特别注意

1.直接在controller中定义一个变量,但是此种传输方式有一个限制就是参数名和请求中的参数名必须保持一致,否则失效。 @RequestMapping("test2")@ResponseBodypublic DBHackResponse<UserInfoVo> test2(String id , String name){UserInfoVo userInfoVo = new UserInf

argodb自定义函数读取hdfs文件的注意点,避免FileSystem已关闭异常

一、问题描述 一位同学反馈,他写的argo存过中调用了一个自定义函数,函数会加载hdfs上的一个文件,但有些节点会报FileSystem closed异常,同时有时任务会成功,有时会失败。 二、问题分析 argodb的计算引擎是基于spark的定制化引擎,对于自定义函数的调用跟hive on spark的是一致的。udf要通过反射生成实例,然后迭代调用evaluate。通过代码分析,udf在

js基础需要注意的点

1 js中单引号和双引号都能创建字符串,但是html的元素属性规定必须用双引号,所以js优先用单引号定义字符串。

用ajax json给后台action传数据要注意的问题

必须要有get和set方法   1 action中定义bean变量,注意写get和set方法 2 js中写ajax方法,传json类型数据 3 配置action在struts2中

平时工作学习重要注意的问题

总体原则:抓住重点,条理清晰,可回溯,过程都清楚。 1 要有问题跟踪表,有什么问题,怎么解决的,解决方案。 2 要有常用操作的手册,比如怎么连sqlplus,一些常用的信息,保存好,备查。

windows下安装apache及php需要注意的问题

1.php5.2版本不扩展模块顺序有问题 把php_mbstring.dll放在php_exif.dll上面,后者依赖前者

AI时代产品经理面临的变与不变:0经验求职产品经理要注意哪些细节?

AI时代,各种产品形态、业务的变化,让市场也对产品经理提出了新的要求,产品经理要有哪些变与不变呢?现在入行产品经理是好时机么?没有技术背景、没有学历有优势如何入行做产品经理?今天我们一起探讨一下! 产品人究竟需要具备哪些能力?看这个最新的能力模型图就知道了。 随着当前市场的细分,不同行业和领域对产品经理的能力要求已经从单一的具备产品专业能力演变成了兼具产品专业技能+行业/业务知识

Flink1.10和Hive集成一些需要注意的点

前几天,Flink官方release了Flink1.10版本,这个版本有很多改动。比如: Flink 1.10 同时还标志着对 Blink的整合宣告完成,随着对 Hive 的生产级别集成及对 TPC-DS 的全面覆盖,Flink 在增强流式 SQL 处理能力的同时也具备了成熟的批处理能力。本篇博客将对此次版本升级中的主要新特性及优化、值得注意的重要变化以及使用新版本的预期效果逐一进行介绍。 其

全文索引与虚拟列索引需要注意的事项

在 MySQL 中,全文索引 (FULLTEXT) 与 UNION ALL 可以一起使用,但有一些限制和注意事项。 限制与问题: 全文索引不能直接在 UNION ALL 中使用:MySQL 不允许在多个查询的 UNION 或 UNION ALL 操作中使用 MATCH ... AGAINST,因为每个 SELECT 语句都是独立处理的。如果你想在多个表上进行全文搜索,并且想使用 UNION