7-1日刷题

Roman to Integer

    public int romanToInt(String s) {
        //数字:Ⅰ(1)Ⅴ(5)Ⅹ(10)L(50)C(100)D(500)M(1000)
        HashMap<Character, Integer> map = new HashMap<>();
        map.put(‘I‘,1);
        map.put(‘V‘,5);
        map.put(‘X‘,10);
        map.put(‘L‘,50);
        map.put(‘C‘,100);
        map.put(‘D‘,500);
        map.put(‘M‘,1000);
        int cur = map.get(s.charAt(s.length() - 1));
        int result = cur;
        for (int i = s.length() - 2; i >= 0; --i) {
            int pre = map.get(s.charAt(i));
            if (cur > pre) {
                result -= pre;
            } else {
                result += pre;
            }
            cur = pre;
        }
        return result;
    }

时间: 2024-08-07 04:32:28

7-1日刷题的相关文章

2017年11月1日刷题记录 | 普及组

写在前面 哇Cys好菜啊! 哇Cys连普及组都不会打了啊! 哇要Noip了好紧脏啊! 哇Cys要开始刷题了 然后重点是Cys好菜菜菜菜菜菜啊!!!! 以下题目来自题库比赛 Task-1  A-B 题目描述 出题是一件痛苦的事情! 题目看多了也有审美疲劳,于是我舍弃了大家所熟悉的A+B Problem,改用A-B了哈哈! 好吧,题目是这样的:给出一串数以及一个数字C,要求计算出所有A-B=C的数对的个数.(不同位置的数字一样的数对算不同的数对) 输入输出格式 输入格式: 第一行包括2个非负整数N和

9月9日刷题

Sqrt(x) http://www.guokr.com/question/461510/ 牛顿开方法 public int sqrt(int x) { float X1 = 1f; float Xn = x; for (int i = 0; i < 20; ++i) { Xn = X1 / 2.f + x / (2 * X1); X1 = Xn; } return (int) X1; }

7-4日刷题

Subarray Sum Closest 1. 保存<sum[i + 1], i>,然后对sum[i + 1]排序,然后找出相邻值之间的最小差. 2. TreeMap:ceilingEntry返回一个键-值映射关系,它与大于等于给定键的最小键关联Value.floorEntry:返回小于等于给定键的最大键关联Value. public ArrayList<Integer> subarraySumClosest(int[] nums) { // write your code her

4月9日刷题笔记

Collection 是对象集合, Collection 有两个子接口 List 和 Set, List 可以通过下标 (1,2..) 来取得值,值可以重复,而 Set 只能通过游标来取值,并且值是不能重复的 ArrayList , Vector , LinkedList 是 List 的实现类 ArrayList 是线程不安全的, Vector 是线程安全的,这两个类底层都是由数组实现的 LinkedList 是线程不安全的,底层是由链表实现的 Map 是键值对集合 HashTable 和 H

[C#] 逆袭——自制日刷千题的AC自动机攻克HDU OJ

前言 做过杭电.浙大或是北大等ACM题库的人一定对“刷题”不陌生,以杭电OJ为例:首先打开首页(http://acm.hdu.edu.cn/),然后登陆,接着找到“Online Exercise”下的“Problem Archive”,然后从众多题目中选择一个进行读题.构思.编程.然后提交.最后查看题解状态,如果AC了表示这一题被攻克了,否则就要重做了~一般情况下,“刷题”要求精神高度集中且经验丰富,否则很难成功AC,有时候甚至做一题要浪费半天的时间!(有时网速卡了,比抢火车票还要急!) 楼主在

第十六周oj刷题——Problem C: B 求类中数据成员的最大值-类模板

Description 声明一个类模板,类模板中有三个相同类型的数据成员,有一函数来获取这三个数据成员的最大值. Input 分别输入3个整数,3个浮点数,3个字符 Output 3个整数的最大值 3个浮点数中的最大值 3个字符中的最大值 Sample Input 9 5 6 1.1 3.4 0.9 a b c Sample Output 9 3.40 c /* All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年 6 月 25 日

第十六周oj刷题——Problem D: B 友元类-计算两点间距离

Description 类Distance定义为类Point的友元类来实现计算两点之间距离的功能. Point类中有两个私有数据成员X和Y来表示点的两个坐标(横坐标和纵坐标), 成员函数需要自己定义. 主程序输入两个Point点的坐标,计算两个点之间的距离. Input 两个点的坐标(横坐标和纵坐标) Output 两个点的距离(保留了两位小数) Sample Input 1.0 1.0 2.0 2.0 Sample Output 1.41 /* All rights reserved. * 文

第十五周oj刷题——Problem I: C++ 习题 比较大小-类模板

Description 声明一个类模板,利用它分别实现两个整数.浮点数和字符的比较,求出大数和小数.说明:在类模板外定义各成员函数. Input 输入两个整数.两个浮点数和两个字符 Output 从大到小输出两个整数.两个浮点数和两个字符 Sample Input 3 7 45.78 93.6 a A Sample Output 7 3 93.60 45.78 a A   /* All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年

17年 5月份刷题版

最近才开始做这个刷题版,之前的一些实在是记不起来什么时候写的了,稍微总结一下20号之前的吧. 怎么说呢,先吐槽一下吧,520在家愉快的陪着代码和计蒜客度过了温馨而又愉快的520(计蒜客给我发的短信是这样说的QAQ). 五月份总觉得自己没有学什么新的东西,15号左右学了一下二分图,写了三道题p1321,p1322,p1323,然后在开始学的网络流,然后到现在还在学QAQ(肯定没有尧神学的快啦). 在往前说就是往前翻了一下第二页的题,发现好多模板题和搜索的题都没有写,所以补了一下,不得不说,体验了一