![](https://img-blog.csdnimg.cn/f630c931c4684fdea6e9aa77525cdaf7.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
力扣算法记录
小白Rachel
如果现在的一切都还不是你想要的,那就努力吧!也只能努力了!
努力做一个坚持写作&鸡汤励志的程序媛!
领域:vue 若依 element UI
本人长期在线 欢迎有技术问题的伙伴留言私信哦!主页关注必回关
展开
-
前端秋招笔试(1)- 58同城
怕你飞远去,怕你离我而去。更怕你永远停留在这里。编程题1. 找出数组中第K个最大数输入:3,2,3,1,2,4,5,5,6 4输出:4import java.util.Scanner;// 选择问题-找出N个数中第K个最大值public class Nok { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String inputStrin...原创 2020-09-15 17:07:05 · 187 阅读 · 0 评论 -
JavaScript - 计算字符串中出现次数最多的字符
请记得那些对你好的人,因为他本可以不这样。题目:计算字符串中出现次数最多的字符function here() { var str = 'stiabsstringaphbs' console.log(str) var obj = {} // 定义对象存放字符以及个数 for (var i = 0; i < str.length; i++) { var key = str[i] // 若不...原创 2020-09-14 14:04:50 · 178 阅读 · 0 评论 -
牛客Java笔试必备 - 输入输出流整理
1. A+B 多次输入多组数据 输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。输出a+b输入:1 23 4输出:37import java.util.Scanner;public class Main{ public static void main(String [] args){ Scanner in = new Scanner(System.in); int a,b; ..原创 2020-08-26 12:40:50 · 1154 阅读 · 1 评论 -
【剑指offer】#05替换空格 - 正则 - 数组 - 双指针
其实每个人都是幸福的,只不过你的幸福往往在别人眼中。力扣力扣:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/题目:请实现一个函数,把字符串s中的每个空格替换成"%20"。输入:s = "We are happy."输出:"We%20are%20happy."方法一:JS的split和join/** * @param {string} s * @return {string} */var replaceS...原创 2020-09-16 17:47:57 · 160 阅读 · 0 评论 -
【剑指Offer】 #03 - 哈希表 - 数组中重复数字
如果想要开始,任何时候都不晚。 力扣力扣:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 思路:对于数组中的重复问题,使用哈希表当哈希表中已.原创 2020-08-11 13:03:20 · 276 阅读 · 0 评论 -
【Java】【JS】LeetCode - 双指针 - #011 盛水最多的容器
不想别人否定,自己就要更加努力。力扣力扣:https://leetcode-cn.com/problems/container-with-most-water/输入:[1,8,6,2,5,4,8,3,7]输出:49方法:双指针解题详解:https://leetcode-cn.com/problems/container-with-most-water/solution/sheng-zui-duo-shui-de-rong-qi-by-leetcode-solution/思路..原创 2020-08-10 12:59:27 · 225 阅读 · 0 评论 -
【Java】【JS】LeetCode - 树 - # 543 二叉树的直径
每个人都是一团火,路过的人只看到了烟。力扣力扣:https://leetcode-cn.com/problems/diameter-of-binary-tree/给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。方法:深度优先搜索首先我们知道一条路径的长度为该路径经过的节点数减一,所以求直径(即求路径长度的最大值)等效于求路径经过节点数的最大值减一。而任意一条路径均可以被看作由某个节点为起点,从其左儿子和右..原创 2020-08-07 13:07:03 · 284 阅读 · 0 评论 -
【Java】【JS】LeetCode - 哈希表 - 原地标记 - #448 数组中的消失数字
日子总会一天天好起来。力扣力扣:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/给定一个范围在1 ≤ a[i] ≤ n (n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。输入: [4,3,2,7,8,2,3,1]输出: [5,6]方法一: 使用哈希表我们用一个哈希表 hash 来...原创 2020-08-06 13:10:10 · 182 阅读 · 0 评论 -
【Java】【JS】LeetCode - 栈 - #155 最小栈
谁一开始还不是个小白,成功的路没有捷径。 力扣力扣:https://leetcode-cn.com/problems/min-stack/设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop()—— 删除栈顶的元素。top()—— 获取栈顶元素。getMin() —— 检索栈中的最小元素。输入:["MinStack","push","push","push","getMin","pop","to...原创 2020-08-05 13:00:43 · 119 阅读 · 0 评论 -
【Java】【JS】LeetCode - 链表 - #02 两数相加
从讨厌吃苦,到开始能吃苦的味道,终于喜欢上咖啡,也就是人味觉发育的过程。力扣力扣:https://leetcode-cn.com/problems/add-two-numbers/#02 两数相加给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。输入:(2 -> ...原创 2020-06-27 11:15:03 · 144 阅读 · 0 评论 -
【Java】【JS】LeetCode - 双指针 - #234 回文链表
无论如何不要轻言放弃。力扣力扣:https://leetcode-cn.com/problems/palindrome-linked-list/#234 回文链表请判断一个链表是否为回文链表。输入: 1->2输出: false输入: 1->2->2->1输出: true方法一:数组将所有元素放到一个数组中,再利用双指针迭代比较元素中的内容/** * Definition for singly-linked list. * pu..原创 2020-06-26 17:39:23 · 171 阅读 · 0 评论 -
【Java】LeetCode - 位运算 - #461 汉明距离
力扣力扣https://leetcode-cn.com/problems/hamming-distance/#461 汉明距离汉明距离广泛应用于多个领域。在编码理论中用于错误检测,在信息论中量化字符串之间的差异。两个整数之间的汉明距离是对应位置上数字不同的位数。两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数x和y,计算它们之间的汉明距离。方法一:内置位计数功能大多数编程语言中,都存在各种内置计算等于 1 的位数函数。cl...原创 2020-06-07 17:47:13 · 140 阅读 · 0 评论 -
【Java】【JS】LeetCode - 双指针 - #283 移动零
#283 移动零给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。输入: [0,1,0,3,12]输出: [1,3,12,0,0]方法一:覆盖方法二:交换...原创 2020-06-07 17:32:39 · 124 阅读 · 0 评论 -
【Java】【JS】LeetCode - 排序 - 哈希表 - 分治 - #169 多数元素
精诚所至金石为开!力扣力扣:https://leetcode-cn.com/problems/majority-element/#169 多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。输入: [3,2,3]输出: 3输入: [2,2,1,1,1,2,2]输出: 2官方五种方法:https://leetcode-cn.com/problems/...原创 2020-06-06 18:02:52 · 207 阅读 · 0 评论 -
【Java】【JS】LeetCode - 位运算 - #136 只出现一次的数字
所有的选择不过是为了下一次选择做准备。力扣力扣:https://leetcode-cn.com/problems/single-number/#136 只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?输入: [2,2,1]输出: 1输入: [4,1,2,1,2]输出: 4方法一:哈希表方法二:位运算...原创 2020-06-06 09:56:19 · 197 阅读 · 0 评论 -
【Java】【JS】LeetCode - 递归 - 迭代 - #104 二叉树的最大深度
心若向阳,无惧悲伤。 力扣力扣:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }function TreeNode(val) { this.val = val; this.原创 2020-06-05 16:01:49 · 161 阅读 · 0 评论 -
【Java】【JS】LeetCode - 递归 - # 101 对称二叉树
we are nobody,but we are on the way to be somebody!! 力扣力扣https://leetcode-cn.com/problems/symmetric-tree/# 101 对称二叉树给定一个二叉树,检查它是否是镜像对称的。进阶:你可以运用递归和迭代两种方法解决这个问题吗?方法一:递归方法二:迭代...原创 2020-06-05 12:11:00 · 147 阅读 · 0 评论 -
【Java】【JS】LeetCode - 动态规划 - # 198 打家劫舍
所有的大人都曾经是小孩。 力扣力扣https://leetcode-cn.com/problems/house-robber/# 198 打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。输入: [1,2,3,1]输出: 4解释:...原创 2020-06-03 15:25:25 · 171 阅读 · 0 评论 -
【Java】【JS】LeetCode - 动态规划 - # 070 爬楼梯
以梦为马,随处可栖 。 力扣力扣https://leetcode-cn.com/problems/climbing-stairs/# 070 爬楼梯假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + ...原创 2020-06-02 18:04:14 · 335 阅读 · 0 评论 -
【Java】【JS】LeetCode - 动态规划 - # 053 最大子序和
越早放弃旧的奶酪,就越早发现新的奶酪! 力扣 力扣https://leetcode-cn.com/problems/maximum-subarray/# 053 最大子序和给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。方...原创 2020-06-02 17:43:07 · 617 阅读 · 0 评论 -
【Java】【JS】LeetCode - 哈希表 - 快慢指针 - # 160 相交链表
考前不刷题,靠后徒伤悲 力扣力扣https://leetcode-cn.com/problems/intersection-of-two-linked-lists/# 160 相交链表编写一个程序,找到两个单链表相交的起始节点。输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8...原创 2020-06-01 16:12:34 · 190 阅读 · 0 评论 -
【Java】【JS】LeetCode - 快慢指针 - 哈希表 - # 202 快乐数
平时不刷题,笔试徒伤悲!力扣力扣https://leetcode-cn.com/problems/happy-number/# 202 快乐数编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为1,那么这个数就是快乐数。如果 n 是快乐数就返回 True ;不是,则返回 False 。输入:19输出:true...原创 2020-05-31 16:06:48 · 213 阅读 · 0 评论 -
【Java】【JS】LeetCode - 快慢指针-哈希表 - #141 环形链表
#141 环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。输入:head = [1,2], pos = 0输出:true解释:链表中有一个环,其尾部连接到第一个节点。方法一:哈希表我们可以通过检查一个..原创 2020-05-30 13:22:07 · 192 阅读 · 0 评论 -
【Java】【JS】LeetCode - 链表 - #206 翻转链表
链表知识回顾class Node { private String data; // 节点值 private Node next; // 指针 public Node(String data) { this.data = data; } public void setNext(Node next) { // 设置下一个节点 this.next = next; } public Node getNext() { // 返回当前节点的下一个节点 retur原创 2020-05-30 12:31:01 · 169 阅读 · 0 评论 -
【Java】【JS】LeetCode - 哈希表 - # 001 两数之和
哈希表知识回顾哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。哈希冲突的解决方案:1.开放定制法 2.链地址法 3.公共溢出区法 4.再散列法# 1 两数之和给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入...原创 2020-05-29 15:07:31 · 226 阅读 · 0 评论 -
leetcode - 链表 #21 #206
回顾链表的相关操作java链表相关操作示例class Node { private String data; // 节点值 private Node next; // 指针 public Node(String data) { this.data = data; } public void setNext(Node next) { // 设置下一个节点 this.next = next; } public Node getNext() { // 返回当前.原创 2020-05-27 18:52:06 · 115 阅读 · 0 评论 -
leetcode - 数组相关 #26 #27 #88
数组的输入输出操作// 数组输入Scanner sc = new Scanner(System.in);String str = sc.next().toString();String[] arr = str.split(",");int[] b = new int[arr.length];for(int j = 0; j<b.length;j++) { b[j] = Integer.parseInt(arr[j]);}// 数组输出for(int j = 0; j<l原创 2020-05-25 18:57:09 · 525 阅读 · 0 评论 -
# leetcode121 # leetcode58 代码
输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。原创 2020-05-23 18:36:33 · 210 阅读 · 0 评论