![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题
文章平均质量分 51
这个人很蒙什么也没留下
一名研究僧
展开
-
记录一下第一次用java刷题,leetcode39
leetcode .39给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复的组合。示例1:输入:candidates = [2,3,6,7], target = 7,所求解集为:[ [7], [2,2,3]]示例2:输入:candidates =...原创 2021-05-23 20:06:04 · 139 阅读 · 0 评论 -
Leetcode.820.单词的压缩编码
题目给定一个单词列表,我们将这个列表编码成一个索引字符串S与一个索引列表 A。例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S中索引的位置开始读取字符串,直到 "#" 结束,来恢复我们之前的单词列表。那么成功对给定单词...原创 2020-03-29 10:59:20 · 149 阅读 · 0 评论 -
Leetcode.914.卡牌分组
题目给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有X张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回true。示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]示例 2:输...原创 2020-03-27 11:13:30 · 137 阅读 · 0 评论 -
Leetcode.892.三维形体的表面积。
题目在N*N的网格上,我们放置一些1 * 1 * 1的立方体。每个值v = grid[i][j]表示v个正方体叠放在对应单元格(i, j)上。请你返回最终形体的表面积。示例 1:输入:[[2]]输出:10示例 2:输入:[[1,2],[3,4]]输出:34示例 3:输入:[[1,0],[0,2]]输出:16示例 4:输入:[[1...原创 2020-03-25 12:05:21 · 105 阅读 · 0 评论 -
面试题17,16.按摩师
题目一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例 1:输入: [1,2,3,1]输出: 4解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。示例 2:输入...原创 2020-03-24 09:56:31 · 204 阅读 · 0 评论 -
Leetcode.876.链表的中间结点
题目给定一个带有头结点head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans...原创 2020-03-23 09:46:53 · 86 阅读 · 0 评论 -
面试题40.最小的k个数
题目输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制:0 <= k <= arr.length &l...原创 2020-03-22 22:09:37 · 130 阅读 · 0 评论 -
Leetcode.945.使数组唯一的最小增量
题目给定整数数组 A,每次 move 操作将会选择任意A[i],并将其递增1。返回使 A中的每个值都是唯一的最少操作次数。示例 1:输入:[1,2,2]输出:1解释:经过一次 move 操作,数组将变为 [1, 2, 3]。示例 2:输入:[3,2,1,2,1,7]输出:6解释:经过 6 次 move 操作,数组将变为 [3, 4, 1, 2, 5, 7]。可...原创 2020-03-22 21:46:42 · 119 阅读 · 0 评论 -
Leetcode.409.最长回文串
题目给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:"abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。思路正读和反读相同的称为回文串,具有中心对...原创 2020-03-19 09:59:11 · 117 阅读 · 0 评论 -
Leetcode.836.矩形重叠
题目矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。给出两个矩形,判断它们是否重叠并返回结果。示例 1:输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]输出:true示例 2...原创 2020-03-18 15:49:09 · 148 阅读 · 0 评论 -
Leetcode.1160.拼写单词
题目给你一份『词汇表』(字符串数组)words和一张『字母表』(字符串)chars。假如你可以用chars中的『字母』(字符)拼写出 words中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表words中你掌握的所有单词的 长度之和。示例 1:输入:words = ["cat...原创 2020-03-17 17:57:59 · 124 阅读 · 0 评论 -
Leetcode.面试题01.06.字符串压缩
题目字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1:输入:"aabcccccaaa"输出:"a2b1c5a3"示例2:输入:"abbccd"输出:"abbccd"解释:"a...原创 2020-03-16 10:40:15 · 174 阅读 · 0 评论 -
Leetcode.31下一个排列
题目实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1思路从后往前遍历数组,将数组分为两个部分...原创 2020-03-08 14:17:59 · 111 阅读 · 0 评论 -
Leecode程序题-四数相加II
从一道算法题的几种解法体会一下算法优化的思想。。。题目:楼主看到这题第一时间想到的是暴力法:class Solution {public: int fourSumCount(vector<int>& A, vector<int>& B, vector<int>& C, vector<int>&...原创 2019-12-25 16:29:07 · 129 阅读 · 0 评论 -
旅行商问题动态规划解法(不到10行解决)
首先简略介绍一下旅行商问题:有n个城市,相互之间有一条路径,但距离大小不同,求从某个城市 c 出发访问所有城市一次后回到 c 的最短距离。博主另一篇文章毕业旅行省钱问题其实也是这个问题的一个解法,那边的编程思想是图的深度遍历。今天给大家介绍一种动态规划解法,本文的程序编写是受到这位大神的文章启发,有兴趣的同学也可以去看看。回到旅行商的一个具体问题,假如有城市、、、,要从开始访问所有城...原创 2019-11-27 20:40:35 · 4287 阅读 · 0 评论 -
毕业旅行省钱问题
某实验室汇集了来自不同省份的研究僧。临近毕业,组中小袁提议进行一次毕业旅行,给大家的研究僧生涯留下一个美好的纪念。小李觉得非常不错,表示强烈支持后整天想着该怎么玩。一天,小李老师出差,闲来无事,便又开始胡思乱想,神游至行程问题:从福州出发,最后回到福州,如何在几个省会(南昌、南京、合肥、太原、郑州)之间旅行最省路费?遂写下此C++代码,交给计算机得解。记于此,便日后有用。代码思路:将所有城市以...原创 2019-11-22 19:28:12 · 307 阅读 · 1 评论 -
最短路径问题---广度优先搜索解法
输入一个数值n,表示一块nxn的区域,其中数值1表示信号强,0表示信号弱,例如:31 0 11 1 11 1 1寻找所有信号强的路径(不包含0)中的最短路径,并输出其最短路径的值,如果不存在最短路径(到不了右下角),则输出-1。思路:将整个nxn数组建立成一个二维图,利用广度优先搜索算法进行搜索,直到命中右小角元素。代码如下:#include <iostre...原创 2019-10-16 22:29:20 · 754 阅读 · 1 评论