zoukankan      html  css  js  c++  java
  • leetcode学习总结

    转自https://leetcode-cn.com/

    1.两数之和

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

    class Solution {
        public static int[] twoSum(int[] nums, int target) {
            int[] res = new int[2];
            for(int i = 0;i<nums.length;i++){
                for(int j = i+1;j<nums.length;j++){
                    int a = nums[i] + nums[j];
                    if(target == a){
                      res[0] = i;
                      res[1] = j;
                      break;
    return res; } } }
    return res; } public static void main(String[] args){ int[] nums = {0,1,2,3,4,5,6}; int target = 4; int[] rest = Solution.twoSum(nums,target); } }

     2.整数反转

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

    class Solution {
        public int reverse(int x) {
            long temp = 0;
           
            while(x != 0){
                int pop = x % 10;
                temp = temp * 10 + pop;
                
                if(temp > Integer.MAX_VALUE || temp < Integer.MIN_VALUE){
                    return 0;
                }
                x /= 10;
            }
            return (int)temp;
        }
    }

     3.回文数

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    public class Solution {
        public bool IsPalindrome(int x) {
            // 特殊情况:
            // 如上所述,当 x < 0 时,x 不是回文数。
            // 同样地,如果数字的最后一位是 0,为了使该数字为回文,
            // 则其第一位数字也应该是 0
            // 只有 0 满足这一属性
            if(x < 0 || (x % 10 == 0 && x != 0)) {
                return false;
            }
            int revertedNumber = 0;
            while(x > revertedNumber) {
                revertedNumber = revertedNumber * 10 + x % 10;
                x /= 10;
            }
            // 当数字长度为奇数时,我们可以通过 revertedNumber/10 去除处于中位的数字。
            // 例如,当输入为 12321 时,在 while 循环的末尾我们可以得到 x = 12,revertedNumber = 123,
            // 由于处于中位的数字不影响回文(它总是与自己相等),所以我们可以简单地将其去除。
            return x == revertedNumber || x == revertedNumber/10;
        }
    }
  • 相关阅读:
    JZOJ 3034. 【NOIP2012模拟10.17】独立集
    JZOJ 3035. 【NOIP2012模拟10.17】铁轨
    JZOJ 1259. 牛棚安排
    数位DP JZOJ 3316. 非回文数字
    JZOJ 3046. 游戏
    JZOJ 3013. 填充棋盘
    debian 安装oracle提供的java8
    java 汉字转拼音 PinYin4j
    debian ssh设置root权限登陆 Permission denied, please try again
    java并发下订单生成策略
  • 原文地址:https://www.cnblogs.com/wwmiert/p/11026680.html
Copyright © 2011-2022 走看看