zoukankan      html  css  js  c++  java
  • 使用Java+Kotlin双语言的LeetCode刷题之路(一)

    LeetCode learning records based on Java,Kotlin,Python...Github 地址

    序号对应 LeetCode 中题目序号

    1 两数之和

    给定一个整数数列,找出其中和为特定值的那两个数,你可以假设每个输入都只会有一种答案,同样的元素不能被重用;

    • Java 语言实现
        public int[] twoSum(int[] nums, int target) {
            int i, j;
            for (i = 0; i < nums.length; i++) {
                for (j = i + 1; j < nums.length; j++) {
                    int sun = nums[i] + nums[j];
                    if (target == sun) {
                        return new int[]{i, j};
                    }
                }
            }
            return new int[]{-1, -1};
        }
    
    • Kotlin 语言实现
        fun twoSum(nums: IntArray, target: Int): IntArray {
            var sum: Int
            for (i: Int in nums.indices) {
                for (j: Int in i+1 until nums.lastIndex+1) {
                    sum = nums[i] + nums[j]
                    if (target == sum) {
                        return intArrayOf(i,j)
                    }
                }
            }
            return intArrayOf(-1,-1)
        }
    

    7 给定一个范围为 32 位 int 的整数,将其颠倒

    • Java 语言实现
        public static int reverse(int x) {
            int result;
            int startLen = 0;
            String str = String.valueOf(x);
            if (str.charAt(0) == '-') {
                startLen = 1;
            }
            if (str.length() == 1) {
                return x;
            }
            int lastLen = str.length() - 1;
            String readStr = "";
            while (lastLen >= startLen) {
                readStr = readStr + str.charAt(lastLen);
                lastLen--;
            }
            try {
                result = Integer.parseInt(readStr);
            }catch (NumberFormatException e){
                return 0;
            }
            return startLen == 0 ? result : result * (-1);
        }
    

    *Kotlin 语言实现

        fun reverse(x: Int): Int {
            var startLen = 0
            if (x < 0) {
                startLen = 1
            }
            val str = x.toString()
            if (str.length == 1) {
                return x
            }
            var lastLen = str.length - 1
            var readStr = ""
            while (lastLen >= startLen) {
                readStr += str[lastLen]
                lastLen--
            }
            return try {
                if (startLen == 0) {
                    readStr.toInt()
                } else {
                    readStr.toInt() * (-1)
                }
            } catch (e: NumberFormatException) {
                0
            }
        }
    
  • 相关阅读:
    HDU 1018 Big Number
    UVa 10603 倒水问题
    UVa 12108 特别困的学生
    UVa 1590 IP网络(简单位运算)
    UVa 12325 宝箱
    UVa 253 骰子涂色
    UVa 815 洪水!
    springmvc(2)处理器设配器和映射器
    SpringMVC(1)
    MyBatis(10)逆向工程
  • 原文地址:https://www.cnblogs.com/shen-hua/p/8744590.html
Copyright © 2011-2022 走看看