zoukankan      html  css  js  c++  java
  • LeetCode日常小习题

    LeetCode练习题:

    1、给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

    你可以假设数组是非空的,并且给定的数组总是存在众数。

    示例 1:

    输入: [3,2,3]
    输出: 3
    示例 2:

    输入: [2,2,1,1,1,2,2]
    输出: 2

    class Solution:
        def majorityElement(self, nums: List[int]) -> int:
            nums.sort()
            return nums[int(len(nums)/2)]
    

    解答:本题有点小陷阱,按照平常的方式来解答系统会给你一个有无数个1的数组,这样时间就会很长,消耗过大,有个简单粗暴的方式就是先给数组排序,然后取出中间的那个数,因为题目假设了数组是非空的,并且给定的数组总是存在众数,其实只要那个那个众数存在,那数组一定是单数,那排过序的数组中中间的那个数一定是所要的众数

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

    示例 1:

    输入: 121
    输出: true
    示例 2:

    输入: -121
    输出: false
    解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
    示例 3:

    输入: 10
    输出: false
    解释: 从右向左读, 为 01 。因此它不是一个回文数。

    class Solution:
        def isPalindrome(self, x: int) -> bool:
            n=str(x)
            tmp = n[::-1]         
            if n == tmp:
                return True
            else:
                return False
    

    解答:本题解答的关键在于n[::-1]从右到左显示,看题目的话应该知道系统自动定义了x为int型,我们需要先将x从整形变成字符串类型赋值给一个变量,将再从右到左显示的结果赋值到另外一个变量,最后对两个变量进行比较,如果相同就返回true,否则就返回false

    既然选择了远方,只能风雨兼程
  • 相关阅读:
    Java类加载器回顾
    2018第24周总结
    JUC类图
    CopyOnWrite 策略
    Python导入模块的几种姿势
    查看linux接口进出口流量的命令;linux 网络监控;流量监控
    jenkins修改日志级别方法
    top命令查看线程信息和jstack使用介绍
    How to force immediate stop of threads in Jmeter servers如何在jmeter执行完,立即停止jmeter
    pycharm支持react
  • 原文地址:https://www.cnblogs.com/lzss/p/11253070.html
Copyright © 2011-2022 走看看