Leetcode
文章平均质量分 54
Java2h
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 06.从尾到头打印链表(Java实现、链表)
这道题主要考察链表的遍历,第一次遍历得到链表长度,定义等长数组,第二次反向遍历数组(链表第一个值给数组最后一个,以此类推…)最后返回数组即可class Solution { public int[] reversePrint(ListNode head) { ListNode cur = head; int len = 0; while (cur != null) { len++; cur = cur.原创 2021-12-10 18:28:25 · 545 阅读 · 0 评论 -
Leetcode 剑指 Offer 10 - 20 Java题解
剑指 Offer 10- II. 青蛙跳台阶问题跟斐波那契一样解法递归 超时orz…class Solution { public int numWays(int n) { if (n == 0 || n == 1) return 1; return numWays(n - 1) + numWays(n - 2); }}动态规划class Solution { public int numWays(int n) {原创 2021-11-17 17:02:31 · 361 阅读 · 0 评论 -
Leetcode 剑指 Offer 03 - 10 Java题解
剑指 Offer 03. 数组中重复的数字暴力循环,超时TATclass Solution { public int findRepeatNumber(int[] nums) { for (int i = 0; i < nums.length; i++) { for (int j = 0; j < nums.length; j++) { if (i != j && nums[i] == num原创 2021-11-16 18:47:01 · 934 阅读 · 0 评论 -
LeetCode 第 66 场双周赛
检查两个字符串是否几乎相等签到题定义两个数组存放对应两个字符串字母个数最后一次遍历对比每个字母的差值是否大于 3 即可class Solution { public boolean checkAlmostEquivalent(String word1, String word2) { int[] arr1 = new int[26]; for (char c : word1.toCharArray()) { arr1[c - 'a'原创 2021-11-16 15:11:04 · 84 阅读 · 0 评论 -
LeetCode 第 267 场周赛
1.买票需要的时间思路一:定义买票所需的总时间为 res,每个人需要买票的时间为 1 秒,返回位于位置 k(下标从 0 开始)的人完成买票需要的时间(以秒为单位)外循环遍历次数:要令位于位置 k 的人完成买票,即当 tickets[k] = 0 时,要让 tickets[k] = 0,则要遍历 tickets[k] 遍,即长度为 tickets[k]内循环遍历数组如果数组元素不为 0 :说明该位置的人需要买票,花费1s,res++;同时该位置需要买的票 - 1,tickets[j]–;原创 2021-11-15 17:18:35 · 253 阅读 · 0 评论 -
Java实现 Leetcode 70. 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶...原创 2020-04-11 17:42:56 · 156 阅读 · 1 评论 -
28.实现 strStr()
题目描述:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, need...原创 2020-04-01 23:16:51 · 83 阅读 · 0 评论 -
58.最后一个单词的长度
题目描述:给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0 。说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。示例:输入: “Hello World”输出: 5解题思路:利用spilt方法,将字符串分隔成若干个子字符串,然后输出最...原创 2020-04-01 21:18:01 · 68 阅读 · 0 评论 -
13. 罗马数字转整数
题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 ---- 数值I ----------- 1V ----------- 5X ---------- 10L ----------- 50C ---------- 100D ---...原创 2020-03-26 17:06:29 · 77 阅读 · 0 评论 -
9.回文数
题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例:示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121-,因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一...原创 2020-03-25 22:32:16 · 81 阅读 · 0 评论 -
69.x的平方根
题目描述:实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,(由于返回类型是整数,小数部分将被舍去)思路分析:首先,通过一个while循环,来使 i 的值不断增大...原创 2020-03-19 19:39:33 · 77 阅读 · 0 评论 -
35.搜索插入位置
题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例:示例 1:输入: [1,3,5,6], 5输出: 2示例 2: 输入: [1,3,5,6], 2输出: 1示例 3: 输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6],...原创 2020-03-19 19:03:01 · 158 阅读 · 0 评论 -
程序员必备十种算法之——二分搜索算法
二分查找算法(递归版)问题描述:请对一个有序(在这讲的是升序)的数组{1,4,9,11,33,41,69,72,99}进行二分查找,输入一个数看看该数组是否存在该数,并且求出下标,如果没有就返回提示没有这个数。二分查找思路分析:(对一个有序的数组进行查找)1.首先确定该数组的中间下标(在这用mid来表示)mid = (left + right)/22.然后让需要查找的数(findVal...原创 2020-03-19 15:48:27 · 220 阅读 · 0 评论 -
7.整数反转
题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例:示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21方法一:class Solution { public int reverse(int x) { long res = 0; ...原创 2020-03-17 00:27:27 · 62 阅读 · 0 评论 -
Java实现 Leetcode题集
简单:1.两数之和7.整数反转9.回文数13.罗马数字转整数14.最长公共前缀20.有效的括号原创 2020-03-15 00:30:47 · 104 阅读 · 0 评论 -
1.两数之和
题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]方法一...原创 2020-03-15 00:30:11 · 73 阅读 · 0 评论