每日一道LeetCode

每日一道LeetCode

  • LeetCode-加一

    题目给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:

    查看全文
  • LeetCode-最后一个单词的长度

    题目给你一个字符串 s(至少存在一个单词),由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1:输入:s = "Hello World"输出:5示例 2:输入:s = "

    查看全文
  • LeetCode-最大子序和

    题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例

    查看全文
  • LeetCode-搜索插入位置

    题目给定一个排序数组(nums为无重复元素的升序排列数组)和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(log n)的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例 2

    查看全文
  • LeetCode-移除元素

    题目实现 public int removeElement(int[] nums, int val) { // 双指针 int slow = 0; for (int i = 0; i < nums.length; i++) {

    查看全文
  • LeetCode-删除有序数组中的重复项

    题目给你一个有序数组 nums (已按升序排列),请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1输入:nums = [1,1,2]输出:2, nums = [1

    查看全文
  • LeetCode-合并两个有序链表

    题目将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。两个链表的节点数目范围是 [0, 50]-100 <= Node.val <= 100l1 和 l2 均按 非递减顺序 排列示例 1输入:l1 = [1,2,4], l2 = [1,3,4

    查看全文
  • LeetCode-有效的括号

    题目给定一个只包括 (,),{,},[,] 的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例

    查看全文
  • LeetCode-最长公共前缀

    题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入

    查看全文
  • LeetCode-罗马数字转整数

    题目罗马数字包含以下七种字符: I,V,X,L,C,D和M。字符数值I1V5X10L50C100D500M1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做  XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小

    查看全文