![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java算法
文章平均质量分 80
DougLeaMrConcurrency
内推阿里巴巴、蚂蚁集团,校招社招都可以,有需要推荐的请私聊我。
展开
-
Java算法:LeetCode剑指offer(第二版)算法Java版1-68题
《剑指 Offer(第 2 版)》系列本书精选谷歌、微软等知名 IT 企业的典型面试题,系统地总结了如何在面试时写出高质量代码,如何优化代码效率,以及分析、解决难题的常用方法。English Version题解以下所有题目均来源 LeetCode 中国官网,题解由 doocs/leetcode 贡献者 提供,正在完善中,欢迎贡献你的题解!快速搜索题号、题解、标签等,请善用 Control+F(或者 Command+F)。题号题解标签难度03数组中重复的数字数组,哈希表转载 2021-07-19 00:54:57 · 809 阅读 · 0 评论 -
Java算法:LeetCode算法Java版合集1111-1588题
1111. 有效括号的嵌套深度题目描述有效括号字符串 仅由 "(" 和 ")" 构成,并符合下述几个条件之一: 空字符串 连接,可以记作 AB(A 与 B 连接),其中 A 和 B 都是有效括号字符串 嵌套,可以记作 (A),其中 A 是有效括号字符串类似地,我们可以定义任意有效括号字符串 s 的 嵌套深度 depth(S): s 为空时,depth("") = 0原创 2021-05-07 22:41:56 · 1063 阅读 · 0 评论 -
Java算法:LeetCode算法Java版合集513-1110题
513. 找树左下角的值题目描述给定一个二叉树,在树的最后一行找到最左边的值。示例 1:输入: 2 / \ 1 3输出:1 示例 2: 输入: 1 / \ 2 3 / / \ 4 5 6 / 7输出:7 注意: 您可以假设树(即给定的根节点)不为 NULL。解法Java/** * Definition for a binary原创 2021-05-07 22:39:48 · 952 阅读 · 0 评论 -
Java算法:LeetCode算法Java版合集155-509题
155. 最小栈题目描述设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);mi原创 2021-05-07 22:36:38 · 671 阅读 · 0 评论 -
Java算法:LeetCode算法Java版合集1-154题
##前言:二进制、位运算符基础###1.十进制转二进制原理:给定的数循环除以2,直到商为0或者1为止。将每一步除的结果的余数记录下来,然后反过来就得到相应的二进制了。比如8转二进制,第一次除以2等于4(余数0),第二次除以2等于2(余数0),第三次除以2等于1(余数0),最后余数1,得到的余数依次是0 0 0 1 ,反过来就是1000,计算机内部表示数的字节长度是固定的,比如8位,16位,32位。所以在高位补齐,java中字节码是8位的,所以高位补齐就是00001000.写法位(8)10=(000原创 2021-05-07 22:32:00 · 655 阅读 · 1 评论 -
Java算法:牛客网小米笔试真题算法Java版1-40题第二版
题号 题目 知识点 难度 通过率 XM1 小米Git 树 困难 10.22% XM2 懂二进制 中等 29.90% XM3 风口的猪-中国牛市 动态规划 较难 18.73% XM4 电话号码分身 中等 22.63% XM5 句子反转 字符串 中等 26.09% XM6 树的高度 中等 16.85% XM7 进制间转换 中等 24.29% XM8 最少立方数之和 动态规划 中等 24.28% XM9 资产包打包 动态规划贪心 中等 33.55% XM10 爬楼梯 递归动态规划原创 2021-04-27 22:15:24 · 2785 阅读 · 0 评论 -
Java算法:牛客网字节跳动笔试真题算法Java版1-27题
题号 题目 知识点 难度 通过率ZJ1 附加题 动态规划数组 中等 16.45%ZJ2 编程题1 贪心 中等 11.65%ZJ3 编程题2 字符串贪心 中等 29.30%ZJ4 附加题 递归模拟穷举 中等 32.85%ZJ5 编程题1 模拟 中等 25.80%ZJ6 编程题2 递归动态规划模拟 中等 12.32%ZJ7 字母交换 字符串动态规划 中等 29.01%ZJ8 用户喜好 数组模拟哈希 中等 18.28%ZJ9 手串 字符串哈希模拟 中等 29.63%ZJ10 编程题3 排序数组原创 2021-04-25 23:46:04 · 3445 阅读 · 9 评论 -
Java算法:牛客网腾讯笔试真题算法Java版1-11题
题号 题目 知识点 难度 通过率 QQ1 生成格雷码 递归 简单 22.61% QQ2 微信红包 模拟 简单 25.61% QQ3 编码 字符串模拟 中等 26.60% QQ4 游戏任务标记 模拟 中等 37.55% QQ5 素数对 模拟 中等 31.58% QQ6 geohash编码 模拟 中等 24.82% QQ7 拼凑硬币 动态规划 中等 22.25% QQ8 数字转换机 贪心 中等 34.40% QQ9 魔法阵 计算几何 简单 39.06% QQ10 石子合并 中等 49.原创 2021-04-25 23:44:48 · 624 阅读 · 0 评论 -
Java算法:牛客网拼多多笔试真题算法Java版1-13题
题号 题目 知识点 难度 通过率 PDD1 最大乘积 贪心模拟 中等 14.45% PDD2 大整数相乘 模拟 中等 27.32% PDD3 六一儿童节 贪心 中等 24.74% PDD4 迷宫寻路 模拟 中等 14.77% PDD5 列表补全 数组模拟 简单 21.09% PDD6 拼多多周年庆 动态规划贪心树图 较难 23.93% PDD7 数三角形 模拟排序穷举 中等 23.72% PDD8 最大乘积 贪心模拟 中等 21.08% PDD9 小熊吃糖 排序数组模拟贪心 简单 24原创 2021-04-25 23:43:39 · 807 阅读 · 0 评论 -
Java算法:牛客网滴滴笔试真题算法Java版1-14题
题号 题目 知识点 难度 通过率 DD1 连续最大和 动态规划贪心 简单 21.59% DD2 餐馆 排序贪心 困难 13.77% DD3 地下迷宫 简单 19.98% DD4 末尾0的个数 贪心 入门 27.56% DD5 进制转换 数学 简单 23.24% DD6 数字和为sum的方法数 动态规划 较难 23.09% DD7 整数无序数组求第K大数 堆排序 中等 22.97% DD8 给定整数序列求连续子串最大和 动态规划贪心 中等 31.55% DD9 寻找丑数 穷举 中等 2原创 2021-04-25 23:41:58 · 1133 阅读 · 0 评论 -
Java算法:牛客网哔哩哔哩bilibili笔试真题算法Java版1-14题
题号 题目 知识点 难度 通过率 BL1 扭蛋机 递归 中等 32.67% BL2 小A最多会新认识的多少人 图 中等 15.20% BL3 简单表达式计算 字符串模拟栈 中等 29.30% BL4 山寨金闪闪 数组 中等 17.53% BL5 顺时针打印数字矩阵 递归数组模拟 中等 16.87% BL6 精灵鼠从入口到出口的最少减少速度 动态规划字符串 中等 35.73% BL7 比较两个版本字符串version1和version2 字符串 中等 21.86% BL8 写一段程序判断I原创 2021-04-25 23:40:37 · 1015 阅读 · 0 评论 -
Java算法:牛客网爱奇艺笔试真题算法Java版1-23题
题号 题目 知识点 难度 通过率 QY1 循环数比较 字符串模拟穷举 中等 25.56% QY2 DNA序列 字符串穷举 中等 22.69% QY3 判断题 贪心模拟 中等 46.89% QY4 删除重复字符 字符串模拟 较难 33.46% QY5 空中旅行 数组模拟贪心 中等 29.16% QY6 回文素数 模拟穷举 中等 24.36% QY7 排序 贪心排序 中等 37.11% QY8 字符串价值 字符串贪心 中等 30.15% QY9 拼凑正方形 贪心穷举排序 中等 37.67%原创 2021-04-25 23:38:54 · 475 阅读 · 0 评论 -
Java算法:牛客网京东笔试真题算法Java版1-24题
题号 题目 知识点 难度 通过率 JD1 年终奖 动态规划 简单 32.58% JD2 抛小球 数学模拟 简单 31.40% JD3 小东分苹果 动态规划模拟 中等 22.95% JD4 上台阶 递归动态规划 中等 15.96% JD5 小球的距离 入门 30.49% JD6 保卫方案 栈 中等 7.25% JD7 集合 模拟 中等 19.34% JD8 进制均值 模拟 中等 27.12% JD9 幸运数 模拟 中等 36.72% JD10 两个子串 字符串穷举 中等 27.62%原创 2021-04-23 00:19:59 · 1007 阅读 · 0 评论 -
Java算法:牛客网快手笔试真题算法Java版1-36题
题号 题目 知识点 难度 通过率 KS1 获得最多的奖金 数组贪心 中等 21.23% KS2 将满二叉树转换为求和树 递归模拟 简单 25.24% KS3 搭积木 排序动态规划 较难 16.35% KS4 最少数量货物装箱问题 动态规划贪心 中等 31.94% KS5 回文子串 字符串模拟动态规划 较难 36.79% KS6 字符串长度最大乘积 字符串模拟 简单 29.19% KS7 今年的第几天 模拟 简单 38.80% KS8 数字序列第n位的值 简单 43.40% KS9 字原创 2021-04-22 00:16:54 · 4170 阅读 · 0 评论 -
Java算法:牛客网百度笔试真题算法Java版1-19题
题号 题目 知识点 难度 通过率 BD1 罪犯转移 动态规划 较难 15.94% BD2 裁减网格纸 贪心 中等 25.14% BD3 钓鱼比赛 数学 困难 14.79% BD4 蘑菇阵 动态规划 较难 14.64% BD5 字符串匹配 字符串模拟穷举 中等 28.26% BD6 表格排序 排序模拟 中等 24.81% BD7 替换链接 字符串模拟 中等 3.09% BD8 完成括号匹配 字符串模拟栈 中等 34.55% BD9 倒计时 模拟 中等 12.35% BD10 字符覆盖原创 2021-04-20 23:52:17 · 574 阅读 · 0 评论 -
Java算法:牛客网小米笔试真题算法Java版1-40题
题号 题目 知识点 难度 通过率 XM1 小米Git 树 困难 10.22% XM2 懂二进制 中等 29.90% XM3 风口的猪-中国牛市 ...原创 2021-04-20 23:50:57 · 1459 阅读 · 1 评论 -
Java算法:牛客网网易笔试真题算法Java版1-81题
题号 题目 知识点 难度 通过率WY1 奖学金 动态规划模拟 较难 12.84%WY2 路灯 动态规划 较难 14.22%WY3 小易的升级之路 递归模拟 简单 20.03%WY4 炮台攻击 简单 18.14%WY5 扫描透镜 贪心模拟穷举 较难 15.89%WY6 合唱团 动态规划 较难 14.33%WY7 地牢逃脱 队列 简单 17.68%WY8 下厨房 字符串 入门 34.60%WY9 分田地 动态规划 中等 15.98%WY10 分苹果 贪心 入门 23.24%WY11 星际原创 2021-04-19 23:16:57 · 336 阅读 · 0 评论 -
Java算法:牛客网剑指offer算法Java版1-67题
题号 题目 知识点 难度 通过率 JZ1 二维数组中的查找 数组 中等 25.24% JZ2 替换空格 字符串 较难 48.32% JZ3 从尾到头打...原创 2021-04-18 23:55:03 · 1709 阅读 · 0 评论 -
Java算法:华为机试算法第二版(下),华为算法Java版
牛客网-华为机试练习题 73题目描述公元前五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?详细描述:接口说明原型:int GetResult(vector &list)输入参数: 无输出参数(指针指向的内存区域保证有效): list 鸡翁、鸡母、鸡雏组合的列表返回值: -1 失败 0 成功输入描述:输入任何一个整数,即可运行程序。输出描述:示例1 输入原创 2021-04-17 00:13:23 · 604 阅读 · 0 评论 -
Java算法:华为机试算法第二版(中),华为算法Java版
牛客网-华为机试练习题 34题目描述:图片整理Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。输入描述:Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。输出描述:Lily的所有图片按照从小到大的顺序输出示例1输入Ihave1nose2hands10fingers输出0112Iaadeeefghhinnnorsss原创 2021-04-17 00:12:05 · 529 阅读 · 0 评论 -
Java算法:华为机试算法第二版(上),华为算法Java版
牛客网华为机试练习题文章目录牛客网华为机试练习题动态规划问题详解前言生活中的动态规划2. 几个简单的概念3. DP的典型应用:DAG最短路4. 对DP原理的一点讨论5. 例题:最长上升子序列牛客网-华为机试练习题 01题目描述输入描述:输出描述:解决代码总结牛客网-华为机试练习题 02题目描述输入描述:输出描述:解决代码总结:牛客网-华为机试练习题 03题目描述输入描述:输出描述:解决代码:总结:牛客网-华为机试练习题 04题目描述输入描述:输出描述:解决代码总结:牛客网-华为机试练习题 05题目描述输入原创 2021-04-17 00:10:47 · 1105 阅读 · 0 评论 -
Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题
接上篇:Java算法:华为机试算法(上),华为算法Java版,牛客网华为算法1~54题HJ73 计算日期到天数转换计算日期到天数转换题目描述根据输入的日期,计算是这一年的第几天。。测试用例有多组,注意循环输入输入描述:输入多行,每行空格分割,分别是年,月,日输出描述:成功:返回outDay输出计算后的第几天;失败:返回-1示例1输入2012 12 31输出366import java.io.BufferedReader;import .原创 2021-03-30 10:52:41 · 1123 阅读 · 0 评论 -
Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题
接上篇:Java算法:华为机试算法(上),华为算法Java版,牛客网华为算法1~54题HJ55 (练习用)挑7挑7题目描述输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数(一组测试用例里可能有多组数据,请注意处理)输入描述:一个正整数N。(N不大于30000)输出描述:不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17.示例1输入2010输出31impo原创 2021-03-30 10:50:52 · 1025 阅读 · 0 评论 -
LeetCode面试题:100道(下)
面试题 03. 数组中重复的数字题目描述找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0 ~ n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000解法0 ~ n-1 范围内的数,分别还原到对应的位置上,如:数字 2 交换到下标为 2 的位置。若交换过程中原创 2021-02-25 15:02:14 · 433 阅读 · 0 评论 -
LeetCode面试题:100道(上)
面试题 01.01. 判定字符是否唯一English Version题目描述实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例 1:输入: s = "leetcode"输出: false 示例 2:输入: s = "abc"输出: true限制: 0 <= len(s) <= 100 如果你不使用额外的数据结构,会很加分。解法Python3class Solution: def isUnique(self, astr: str)原创 2021-02-25 14:54:42 · 650 阅读 · 1 评论 -
LeetCode算法:1578~1588道
1578. 避免重复字母的最小删除成本English Version题目描述给你一个字符串 s 和一个整数数组 cost ,其中 cost[i] 是从 s 中删除字符 i 的代价。返回使字符串任意相邻两个字母不相同的最小删除成本。请注意,删除一个字符后,删除其他字符的成本不会改变。 示例 1:输入:s = "abaac", cost = [1,2,3,4,5]输出:3解释:删除字母 "a" 的成本为 3,然后得到 "abac"(字符串中相邻两个字母不相同)。示例 2:输原创 2021-02-25 00:23:19 · 202 阅读 · 0 评论 -
LeetCode算法:900~1576道
912. 排序数组English Version题目描述给定一个整数数组 nums,将该数组升序排列。 示例 1:输入:[5,2,3,1]输出:[1,2,3,5]示例 2:输入:[5,1,1,2,0,0]输出:[0,0,1,1,2,5] 提示: 1 <= A.length <= 10000 -50000 <= A[i] <= 50000解法Python3Javaclass Solution {原创 2021-02-25 00:21:07 · 654 阅读 · 0 评论 -
LeetCode算法:400~899道
400. 第 N 个数字English Version题目描述在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字。注意:n 是正数且在32为整形范围内 ( n < 231)。示例 1:输入:3输出:3示例 2:输入:11输出:0说明:第11个数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... 里是0原创 2021-02-24 23:29:16 · 1051 阅读 · 0 评论 -
LeetCode算法:200~399道
200. 岛屿数量English Version题目描述给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3解法Python3Javaclass Soluti原创 2021-02-24 22:32:23 · 221 阅读 · 0 评论 -
LeetCode算法:100~199道
100. 相同的树English Version题目描述给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1 /原创 2021-02-24 22:19:04 · 338 阅读 · 0 评论 -
LeetCode算法:0~99道
冒泡排序定义一个布尔变量 hasChange,用来标记每轮是否进行了交换。在每轮遍历开始时,将 hasChange 设置为 false。若当轮没有发生交换,说明此时数组已经按照升序排列,hashChange 依然是为 false。此时外层循环直接退出,排序结束。代码示例Javaimport java.util.Arrays;public class BubbleSort { private static void bubbleSort(int[] nums) { b原创 2021-02-24 21:58:55 · 407 阅读 · 0 评论 -
java算法:排序算法基础,二分查找,冒泡排序,插入排序,快速排序及优化,希尔排序,归并排序,堆排序,桶排序,基数排序,二叉树算法,手写红黑树算法
一贴看完java常用的查找、排序算法,后续将更新二叉树算法、递归、谈心、回溯等算法。今天被面试官刁难了一番(问的不是排序查找),想借此复习一下算法基础。主要内容:二分查找冒泡排序算法插入排序算法快速排序(含优化)算法希尔排序算法归并排序算法堆排序算法桶排序算法基数排序算法import java.util.*;/** * 二分查找 * 冒泡排序算法 ...原创 2020-04-23 20:09:19 · 332 阅读 · 0 评论 -
Java算法:LeetCode算法题目精选,两数之和,爬楼梯,翻转二叉树,反转链表,LRU缓存机制,最长回文子串,有效的括号,数组中的第K个最大元素,实现 Trie (前缀树),编辑距离,Java算法
LeetCode题目精选两数之和链接:https://leetcode-cn.com/problems/two-sum/给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。给定 nums = [2, 7, 11, 15], target...原创 2020-04-06 20:31:42 · 273 阅读 · 0 评论 -
Java算法:LeetCode算法Java版,百度公司算法笔试面试题LeetCode整理,百度校招算法刷题,百度算法Java版,Java版快速排序及优化后的快排,归并排序、堆排序,百度算法20道题
最近要参加百度公司2020春招的校招面试,特整理了下百度公司的算法题笔试面试题,以此纪念百度对我的认可。资源来源于LeetCode,纯手打,喜欢请支持正版。再次感谢百度!目录两数之和... 1两数相加... 1无重复字符的最长子串... 2两个排序数组的中位数... 3最长回文子串... 4有效的括号... 5搜索旋转排序数组... 6旋转图像.....原创 2020-04-03 18:15:44 · 1947 阅读 · 5 评论 -
Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer
剑指offer(java版)牛客网Java版剑指Offer全套题目67道资源来源于网络下载地址:牛客网Java版剑指Offer全套算法面试题目整理牛客网Java版剑指Offer全套算法面试题目电子档,面试刷题、背题必备!需要参加面试的人赶紧下载!如果不想花费积分请与我私信,也可以阅读这篇文章。第1题. 二维数组中的查找... 2第2题. 替换空格... ...原创 2020-03-25 13:57:52 · 712 阅读 · 0 评论 -
Java数据结构(1.1):数据结构入门+线性表、算法时间复杂度与空间复杂度、线性表、顺序表、单双链表实现、Java线性表、栈、队列、Java栈与队列。
数据结构与算法入门问题1:为什么要学习数据结构 如果说学习语文的最终目的是写小说的话,那么能不能在识字、组词、造句后就直接写小说了,肯定是不行的,中间还有一个必经的阶段:就是写作文。写作文的直接目的有两个:1.掌握写作套路、技巧(理论水平),保证以后写小说的质量2.提高写作水平(动手能力),为以后写小说打好基础学习一门计算机语言就好比识字阶段,以后开...原创 2019-10-10 21:59:11 · 813 阅读 · 1 评论 -
java算法基础:快速排序、非递归快排、二分查找算法、二叉树、遍历树形结构算法、排序算法、归并排序、堆排序、冒泡排序、生产消费者模式
1 快速排序算法Java实现1.1 算法概念。快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。1.2 算法思想。通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。1.3 实现思路。①以...原创 2019-10-02 16:40:00 · 388 阅读 · 0 评论