zoukankan      html  css  js  c++  java
  • leetcode-1-basic

    leetcode-algorithm

    1. Two Sum

    解法:循环,试呗。。简单粗暴。。

    class Solution {
    public:
        vector<int> twoSum(vector<int>& nums, int target) {
            //vector<int> temp = nums;
            int i;
            int j;
            vector<int> result(2);
            bool flag = false;
            for (i = 0 ; i != nums.size()-1; i++) {
                for (j = i+1; j != nums.size(); j++) {
                    if (nums[i] + nums[j] == target) {
                        result[0] = i;
                        result[1] = j;
                        flag = true;
                        break;
                        }
                    }
                    if (flag == true)
                    break;
                }
            return result;
        }
    };

    7. Reverse Integer 

    class Solution {
    public:
        int reverse(int x) {
            long newNum;
            newNum = 0;
            while(x != 0) {
                // overflow has to be handled
                newNum = newNum * 10 + x % 10;
                if(newNum > INT_MAX || newNum < INT_MIN)
                    return 0;
                x = x / 10;
                }
            return newNum;
        }
    };

    9. Palindrome Number

    Determine whether an integer is a palindrome. Do this without extra space.

    sol: transform into string and compare within string

    class Solution {
    public:
        bool isPalindrome(int x) {
            string s = std::to_string(x);
            int i = 0;
            int j = s.length() - 1;
            while (i < j) {
                if (s[i] != s[j])
                    return false;
                    i++;
                    j--;
                }
            return true;
        }
    };

    13. Roman to Integer

    class Solution {
    public:
        int myFunc(char c) {
            int data = 0;
            switch (c) {
                case 'I':
                    data = 1;
                    break;
                case 'V':
                    data = 5;
                    break;
                case 'X':
                    data = 10;
                    break;
                case 'L':
                    data = 50;
                    break;
                case 'C':
                    data = 100;
                    break;
                case 'D':
                    data = 500;
                    break;
                case 'M':
                    data = 1000;
                    break;
            }
            return data;
        }
        int romanToInt(string s) {
            int result = 0;
            int i;
            int pre;
            int cur;
            result = myFunc(s[0]);
            if (s.length() == 1)
               return result;
            for (i = 1; i < s.length(); i++) {
                pre = myFunc(s[i-1]);
                cur = myFunc(s[i]);
                if (pre >= cur)
                  result += cur;
                else
                  result = result - 2 * pre + cur;
            }
            return result;
        }
    };

  • 相关阅读:
    [Next] 六.next的优化
    [Next] 五.next自定义内容
    Mac解决端口占用
    [Next] 四.在next中引入redux
    [Next] 服务端渲染知识补充
    [Next] 三.next自定义服务器和路由
    哪些使用UDP、TCP、IP协议
    IDEA配置git
    ssm整合配置
    git传输远程仓库
  • 原文地址:https://www.cnblogs.com/pxy7896/p/6431846.html
Copyright © 2011-2022 走看看