Remove K Digits & Is Palindrome & Roman to Integer
Updated:
			Contents
		
		
		
		停了2天,补上。二三题是水题。
找出符合题意的上升子序列,如果第一位为0就舍弃。
1  | public static String removeKdigits(String num, int k) {  | 
判断一个数是不是回文数(可以优化,不用判断全部长度,按奇偶判断。)
1  | public static boolean isPalindrome(int x) {  | 
将一个不超过3999的罗马数字转化为整数。
import java.util.*;
public class Solution {
    public int romanToInt(String s) {
        Map<String, Integer>roman = new HashMap<String, Integer>();
        roman.put("I", 1);
        roman.put("V", 5);
        roman.put("X", 10);
        roman.put("L", 50);
        roman.put("C", 100);
        roman.put("D", 500);
        roman.put("M", 1000);
        int c = roman.get(""+s.charAt(0)); 
        for(int i = 1; i < s.length(); i++){
            if(roman.get(""+s.charAt(i)) > roman.get(""+s.charAt(i-1)) && ((s.charAt(i-1) == 'I') || (s.charAt(i-1) == 'X') ||(s.charAt(i-1) == 'C'))){
                c += roman.get(""+s.charAt(i));
            }else{
                c += roman.get(""+s.charAt(i)) - 2 * roman.get(""+s.charAt(i));
            }
        }
        return c;
    }
}
* Nim Game
一堆石子可以拿1,2,3个,给你一堆石子,看能赢的最大几率。
想起了小时候的抢24…只要你和对方的和每次是4的倍数,肯定是你赢。
public boolean canWinNim(int n) {
        return n % 4 == 0;
    }
  
	