
算法
算法
加号Jaryn
在乎比不在乎难得多,别把不屑当自傲
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表相交
https://leetcode-cn.com/problems/intersection-of-two-linked-lists/编写一个程序,找到两个单链表相交的起始节点。import tree.ListNode;/** * @Description: 两条链表,查找相交的点 * 解法:cha = 长链条长度-短链条长度, 长链条前进到cha个节点,...原创 2020-03-20 22:31:11 · 221 阅读 · 0 评论 -
topk问题-堆排序
/** * @Description: topk问题-堆排序 * @Author: Jaryn * 1、使用前K个元素构成小顶堆 * 2、后k的元素如果大于堆顶元素,就交换,然后调整树 * @Date: 2019/11/21 14:57 */public class TopK_HeapSort { public static void main(String[] args...原创 2020-03-20 22:29:53 · 252 阅读 · 0 评论 -
找出数组中只出现一次的数字
https://leetcode-cn.com/problems/single-number/给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。package factory;/** * @Description: 只出现一次的数字 * https://leetcode-cn.com/explore/interview/card/t...原创 2020-03-20 22:28:56 · 236 阅读 · 0 评论 -
多数元素
https://leetcode-cn.com/problems/majority-element/给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。package factory;/** * @Description: 多数元素 *https://leetcode-cn...原创 2020-03-20 22:27:55 · 188 阅读 · 0 评论 -
搜索二维矩阵 II
https://leetcode-cn.com/problems/search-a-2d-matrix-ii/编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。package factory;/** * @Description: 搜索二维矩阵 II * https:...原创 2020-03-20 22:26:35 · 168 阅读 · 0 评论 -
回文验证
https://leetcode-cn.com/problems/valid-palindrome/给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。package factory;/** * @Description: 回文验证 * https://leetcode-cn.com/explore/int...原创 2020-03-18 22:22:05 · 156 阅读 · 0 评论 -
分割回文串
https://leetcode-cn.com/problems/palindrome-partitioning/给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。package factory;import java.util.ArrayList;import java.util.Collections;import java.uti...原创 2020-03-18 22:21:20 · 126 阅读 · 0 评论 -
单词拆分
https://leetcode-cn.com/problems/word-break/给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。package factory;import java.util.ArrayList;imp...原创 2020-03-18 22:20:31 · 183 阅读 · 0 评论 -
乘积最大子序列
https://leetcode-cn.com/problems/maximum-product-subarray/给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。package factory;/** * @Auther: Jaryn * @Date: 2019/12/6 23:07 * @Description: 乘积最大子序列(动态规...原创 2020-03-18 22:19:37 · 138 阅读 · 0 评论 -
存在重复元素
https://leetcode-cn.com/problems/contains-duplicate/给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。package factory;import java.util.HashSet;/** * @Auther: Jaryn * @Dat...原创 2020-03-18 22:18:49 · 176 阅读 · 0 评论 -
旋转数组
https://leetcode-cn.com/problems/rotate-array/给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。package factory;/** * @Auther: Jaryn * @Date: 2019/12/7 18:14 * @Description: 旋转数组 * https://leetcode-cn.com/e...原创 2020-03-18 22:18:01 · 109 阅读 · 0 评论 -
数组中的第K个最大元素
https://leetcode-cn.com/problems/kth-largest-element-in-an-array/在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。package factory;/** * @Description: 数组中的第K个最大元素 * https://leetcode...原创 2020-03-18 22:17:05 · 111 阅读 · 0 评论 -
环形链表
https://leetcode-cn.com/problems/linked-list-cycle/package factory;import tree.ListNode;/** * @Description: 环形链表 * https://leetcode-cn.com/explore/interview/card/top-interview-quesitons-in-20...原创 2020-03-18 22:16:05 · 121 阅读 · 0 评论 -
相交链表
https://leetcode-cn.com/problems/intersection-of-two-linked-lists/编写一个程序,找到两个单链表相交的起始节点。package factory;import base.ListNode;/** * @Auther: Jaryn * @Date: 2019/12/9 22:31 * @Description: 相交链表...原创 2020-03-18 22:15:08 · 112 阅读 · 0 评论 -
二叉搜索树中第K小的元素
给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。package factory;import sun.reflect.generics.tree.Tree;import tree.TreeNode;/** * @Description: 二叉搜索树中第K小的元素 *...原创 2020-03-18 22:13:40 · 142 阅读 · 0 评论 -
二叉树的最近公共祖先
二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: roo...原创 2020-03-17 23:16:55 · 142 阅读 · 0 评论 -
二叉树的序列化与反序列化
二叉树的序列化与反序列化序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。示例:你可以...原创 2020-03-17 23:15:46 · 164 阅读 · 0 评论 -
最大数
最大数给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例 1:**输入:** `[10,2]`**输出:** `210`示例 2:**输入:** `[3,30,34,5,9]`**输出:** `9534330`**说明: **输出结果可能非常大,所以你需要返回一个字符串而不是整数。package factory;import java.util.Arrays;...原创 2020-03-17 23:14:29 · 164 阅读 · 0 评论 -
寻找峰值
https://leetcode-cn.com/problems/find-peak-element/162. 寻找峰值峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例...原创 2020-03-17 23:13:59 · 163 阅读 · 0 评论 -
寻找重复数(需要使用环形链表思想重新实现)
package factory;import java.util.HashSet;import java.util.Set;/** * @Description: 寻找重复数 * @Author: Jaryn * @Date: 2019/12/11 16:23 */public class FindDuplicate { public static void main...原创 2020-03-17 23:10:59 · 158 阅读 · 0 评论 -
二叉树中的最大路径和(递归)
二叉树中的最大路径和给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:**输入:** [1,2,3] **1** **/ \** **2** **3****输出:** 6示例 2:**输入:** [-10,9,20,null,null...原创 2020-03-17 23:10:32 · 535 阅读 · 0 评论 -
最长连续序列
最长连续序列给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:**输入:** [100, 4, 200, 1, 3, 2]**输出:** 4**解释:** 最长连续序列是 `[1, 2, 3, 4]。它的长度为 4。`package factory;import java.util.HashMap;/** * @Description...原创 2020-03-17 23:09:55 · 130 阅读 · 0 评论 -
打家劫舍
打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你**在不触动警报装置的情况下,**能够偷窃到的最高金额。示例 1:**输入:** [1,2,3,1]**输出:** 4**解释:** 偷窃 1 号...原创 2020-03-17 23:09:23 · 126 阅读 · 0 评论 -
最长上升子序列
最长上升子序列给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:**输入:** `[10,9,2,5,3,7,101,18]` **输出:** 4 **解释:** 最长的上升子序列是 `[2,3,7,101],`它的长度是 `4`。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度...原创 2020-03-17 23:08:42 · 86 阅读 · 0 评论 -
零钱兑换
零钱兑换给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:**输入:** coins = `[1, 2, 5]`, amount = `11`**输出:** `3` **解释:** 11 = 5 + 5 + 1示例 2:**输入:** coins = `[2]`...原创 2020-03-17 23:08:14 · 164 阅读 · 0 评论