LeetCode_力扣_-java
对竞赛、学校、公司经常进行参考的力扣题库进行java代码详解。
f输入关键字
这个作者很懒,什么都没留下…
展开
-
力扣解题:二进制数求和
题目:* 给你两个二进制字符串,返回它们的和(用二进制表示)。* 输入为 非空 字符串且只包含数字1和0。 * 输入: a = "11", b = "1" * 输出: "100"/**题目: * 给你两个二进制字符串,返回它们的和(用二进制表示)。 * 输入为 非空 字符串且只包含数字1和0。 * 示例1: * 输入: a = "11", b = "1" * 输出: "100" * 示例2: * 输入: a = "10...原创 2022-04-17 09:47:54 · 59 阅读 · 0 评论 -
力扣解题:加一
题目:* 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。* 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。* 你可以假设除了整数 0 之外,这个整数不会以零开头。* 示例1: * 输入:digits = [1,2,3] * 输出:[1,2,4] * 解释:输入数组表示数字 123。/*题目: * 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 * 最高位数字存放在数组的首位, 数组中每个元素只存...原创 2022-04-16 23:50:30 · 59 阅读 · 0 评论 -
力扣解题:最后一个单词的长度
题目:给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。输入:s = "Hello World" 输出:5/**题目: * 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。 * 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 * 示例 1: * 输入:s = "Hello World" 输出:5 * 解释:最后一个单词是“World”,长度为5。 * 示例 2: * 输入:.原创 2022-04-16 23:20:28 · 148 阅读 · 0 评论 -
力扣解题:最大子数组和 java
题目:给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。/*给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6* *///方法1p..转载 2022-03-31 21:31:26 · 194 阅读 · 1 评论 -
力扣解题:数组排序 各种排序算法 java
1、直接插入排序/*nums[]数组,对其升序排序* *///插入排序public class InsertSort { public int[] sortArray(int[] nums) { int len = nums.length; for (int i = 1; i < len; i++) { // 先暂存这个元素,然后之前元素逐个后移,留出空位 if (nums[i]<nums[i-1转载 2022-03-30 23:03:37 · 459 阅读 · 0 评论 -
力扣解题:顺序查找,折半查找 java
/*给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2*///折半查找public class BiSearch { public int searchInsert(int[] nums, int target) { int low = 0, high = nu...原创 2022-03-30 21:28:05 · 514 阅读 · 0 评论 -
力扣解题:实现字符串匹配strStr()【KMP算法】 java
题目:给你两个字符串haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回-1 。/*题目:实现strStr()函数。给你两个字符串haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。示例 1:输入:haystack = "hello", needle = "ll" ...原创 2022-03-29 22:07:58 · 441 阅读 · 0 评论 -
力扣解题:移除元素 java
/*题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长.原创 2022-02-03 10:22:46 · 109 阅读 · 0 评论 -
力扣解题:两数之和
/*题目:给定一个整数数组nums和一个目标target,请你在该数组中找出合为目标值的那两个整数,并返回他们的下标 nums[]={2,7,11,15}; target=9;*/public class two_sum {//解法1、暴力枚举 public int[] twoSum(int[] nums,int target) throws IllegalAccessException { int len=nums.length; for (in.原创 2022-01-22 19:41:36 · 613 阅读 · 0 评论 -
力扣解题:最长公共前缀 java
/*编写一个函数来查找字符串数组中的最长公共前缀,如果不存在公共前缀,返回空字符串 ""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。*/public class lessqianzhui_1 { public String qianzhui(String[] strs){ if(strs.len.原创 2022-01-27 14:42:18 · 335 阅读 · 0 评论 -
力扣解题:删除有序数组重复项 java
/*题目:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 :输入:nums = [1,1,2]输出:2, nums = [1,2]解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。*///方法1:双指针遍历public class remove.原创 2022-01-29 23:15:06 · 801 阅读 · 0 评论 -
力扣解题:杨辉三角 java
/*题目:给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。* 示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]*/import java.util.ArrayList;import java.util.List;public class YangHuiSanJiao { public List<List<Integer>> YangHui(i.原创 2022-01-30 13:27:22 · 614 阅读 · 0 评论 -
力扣解题:两顺序链表合并
/*将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。【java、idea】*输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]* *///方法1、直接链接//链结点类public class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } L.原创 2022-01-23 19:40:07 · 335 阅读 · 0 评论 -
力扣解题:回文数 java
/*回文数:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。*///方法1、转换为字符串public class Solution { public boolean isPalindrome(int x) { String str=String.valueOf(x);//整数转换为字符串类型 int len=str..原创 2022-01-24 10:18:14 · 196 阅读 · 0 评论 -
力扣解题:罗马数字转整数
罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1 。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。通...原创 2022-01-26 17:50:04 · 248 阅读 · 0 评论 -
力扣解题:括号匹配算法 java
/*题目:给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false*/import java.util.Stack;public class kuo...原创 2022-01-31 13:09:04 · 565 阅读 · 0 评论