2021-07-03算法题

  1. 罗马数字转整数(*)


    image.png

    思路:
    如果后面的数字大于当前的数字,那么就减去当前的数字即可,否则加上当前的数字


    image.png
class Solution {
    public 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);
    };
    public int romanToInt(String s) {
        int result=0;
        for(int i=0;i<s.length();i++){
            if(i<s.length()-1&&map.get(s.charAt(i))<map.get(s.charAt(i+1))){
                result-=map.get(s.charAt(i));
            }
            else{
                result+=map.get(s.charAt(i));
            }
        }
        return result;
    }
}
  1. 最长公共前缀


    image.png

    思路:找出数组中最短的那个字符串,然后每一位都与其他字符串进行比较,当遇到相同字符时,将该字符加入到结果字符串中;当遇到不相同的字符时,就break

class Solution {
    public String longestCommonPrefix(String[] strs) {
        String s = "";
        int min = 10000;
        int index = -1;
        int flag = 1;
        for (int i = 0; i < strs.length; i++) {
            if (strs[i].length() < min) {
                min = strs[i].length();
                index = i;
            }
        }
        for (int i = 0; i < min; i++) {
            char c = strs[index].charAt(i);
            for (int j = 0; j < strs.length; j++) {
                if (strs[j].charAt(i) != c) {
                    flag = 0;
                }
            }
            if (flag == 1) {
                s += c;
            } else {
                break;
            }
        }
        return s;
    }
}
  1. 有效的括号


    image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 1 左神部分集锦 2 Leetcode前150题 3 牛客网剑指offer 4 JavaG 5 题目中的...
    小小千千阅读 1,121评论 0 0
  • 首页目录 点击查看[https://www.jianshu.com/p/c390b7d89e35] 第一题 难度:...
    Benzic阅读 295评论 0 0
  • 判断链表是否有环 先搞清楚有环是什么意思?链表的结构是一环扣一环,每一环都有一个next指针,指向下一个节点,从头...
    宇宙区长李小无阅读 933评论 0 1
  • 1.两数之和 2.两数相加ps:不能直接求总和,再一位一位赋值,因为总和会超过long long的位数限制 3.无...
    谁知洛神赋阅读 485评论 0 0
  • 前言 清明不小心就拖了两天没更了~~ 这是十道算法题的第二篇了~上一篇回顾:十道简单算法题 最近在回顾以前使用C写...
    Java3y阅读 1,271评论 8 29