zoukankan      html  css  js  c++  java
  • 每周学算法/读英文/知识点心得分享 2.18

     每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Share 一个传递价值观的东西!

    Algorithm: 学习算法

    题目:Integer to Roman

    题目描述:

    Roman numerals are represented by seven different symbols: IVXLCD and M.

    Symbol       Value
    I             1
    V             5
    X             10
    L             50
    C             100
    D             500
    M             1000

    For example, two is written as II in Roman numeral, just two one's added together. Twelve is written as, XII, which is simply X + II. The number twenty seven is written as XXVII, which is XX + V + II.

    Roman numerals are usually written largest to smallest from left to right. However, the numeral for four is not IIII. Instead, the number four is written as IV. Because the one is before the five we subtract it making four. The same principle applies to the number nine, which is written as IX. There are six instances where subtraction is used:

    • I can be placed before V (5) and X (10) to make 4 and 9. 
    • X can be placed before L (50) and C (100) to make 40 and 90. 
    • C can be placed before D (500) and M (1000) to make 400 and 900.

    Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 to 3999.

    Example 1:

    Input: 3
    Output: "III"

    Example 2:

    Input: 4
    Output: "IV"

    Example 3:

    Input: 9
    Output: "IX"

    Example 4:

    Input: 58
    Output: "LVIII"
    Explanation: L = 50, V = 5, III = 3.
    

    Example 5:

    Input: 1994
    Output: "MCMXCIV"
    Explanation: M = 1000, CM = 900, XC = 90 and IV = 4.

    解题过程:

    个人认为是思路比较清晰的一道题,就是转换一种进制来表示数。

    除开通用表示外,有六个数是用除法表示的。

    编写代码时注意使用一个进制对照表,这样可以把进制转化的过程抽象成for循环,而不是许多个if判断。

    解法:https://leetcode.com/submissions/detail/209466062/

    Review: 学习英文

    题目:Inversion of Control Containers and the Dependency Injection pattern

    内容概述:马丁大叔剖析IoC容器背后的原理就是DI pattern,然后使用例子阐述了constructor injection, setter injection and interface injection,接着讲了Service Locator pattern,它和DI模式的目的都是为了解耦服务提供者和客户端,通过字符串映射服务名称。

    Tips: 知识点

     无

    Share: 价值观

    知识金字塔模型告诉我们,把一个知识点分享出来会理解更深刻。今天下午会分享Effective Java里关于重写hashCode的必要性这一点。

  • 相关阅读:
    SQL数据转移
    怎么将控制台的打印输出到文本文件中
    用来控制 XML 序列化的属性
    excel内容转成xml
    HTTP状态码
    char、varchar、nchar、nvarchar的区别
    C# Cookie编程
    android的原理--为什么我们不需要手动关闭程序
    HTTP协议及HTTP包
    HTTP 方法:GET 对比 POST
  • 原文地址:https://www.cnblogs.com/andrew-chen/p/10418282.html
Copyright © 2011-2022 走看看