算法练习-入门篇
算法练习-入门篇
了迹奇有没
刺客排行榜952712138,兼纸后端开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
力扣1002.查找常用字符
力扣 1002. 查找常用字符本人力扣练习已上传至码云,可互相学习借鉴。难度-简单题目: 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。你可以按任意顺序返回答案。示例 1:输入:[“bella”,“label”,“roller”]输出:[“e”,“l”,“l”]示例 2:输入:[“cool”,“lock”,“cook”]输出原创 2021-02-16 10:02:16 · 314 阅读 · 0 评论 -
分割数组(将数组三等分)
简单面试题——分割数组时间复杂度O(n)//输入:一个自然数数组,选取其中2个数字num[i], num[j], 把数组三分,// 每一部分的累加和(不包括分割点的数字)相等。// 例:nums[] = [2,1,3,1,1,1,5,3],选取nums[2] = 3, num[6] = 5,// 三部分的和都是3. 则打印输出2, 6,// 如果找不到符合条件的等分点,返回失败。(数组大小的量级最大是10^5)public class DivideArray{原创 2021-02-09 21:04:01 · 4021 阅读 · 0 评论 -
快起床刷题去,别人把你offer拿走啦
好久没有上力扣刷题咯,又到了关键的时刻,却忘得零零散散,囧~话说,刷题、学算法、常用,这些技能才能长在身上!上一道刚刚遇到的正菜~题:给定一个整数数组 nums 和一个目标值 k,请实现一个方法判断 nums 中是否存在某个片段(即若干个相连元素)之和等于 k。要求时间复杂度为 O(n)。public boolean checkSum(int[] nums, int k) { // Write your code here.}首先分析题目,题目大意为:能否从一段数里找一段连续的数,组成原创 2021-01-22 20:50:27 · 1413 阅读 · 2 评论 -
力扣每日一题——独一无二出现的次数
难度:简单题目:给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:输入:arr = [1,2]输出:false示例 3:输入:arr = [-3,0,1,-3,1,1,1,-3,10,0]输出:true原创 2020-10-28 16:26:37 · 424 阅读 · 0 评论 -
不占用多余空间实现值的交换——异或运算
首先什么是异或运算?^规则:0 ^ x = xx ^ x = 0那么 a 与 b 交换值如何做呢???三行代码????a = a ^ b;b = a ^ b;a = a ^ b;原创 2020-06-17 15:58:30 · 353 阅读 · 0 评论 -
最优的去重处理——HashSet去重
算法与数据结构是密不可分的,我们使用不同的数据结构和算法的组合就是我们解决问题的答案。在力扣上有一道非常简单的题目,可以帮我们很好的理解HashSet ????使用HashSet去重力扣解题 575 分糖果给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。原创 2020-06-15 14:04:15 · 782 阅读 · 0 评论 -
伍六七带你学算法——栈的使用
大家都知道栈这种数据结构,它有非常多的应用场景。但如果我们不经常接触这些应用场景的话,就可能不太熟悉栈的用法。目录smd1.栈的创建和使用JAVA Stack类:2.栈的实际应用示范解题如下????1.栈的创建和使用JAVA Stack类:栈是Vector的一个子类,它实现了一个标准的后进先出的栈,栈本身最重要的就是 push 和 pop.堆栈只定义了默认构造函数,用来创建一个空栈。堆栈除了包括由Vector定义的所有方法,也定义了自己的一些方法Stack()除了由Vector定义的所有方法原创 2020-06-10 16:47:15 · 334 阅读 · 0 评论 -
伍六七带你学算法 入门篇——最后一个单词的长度
难度 简单给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0 。说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。示例:输入: “Hello World”输出: 5public class _58_最后一个单词的长度 { /** * 解题思路: * 本题呢是通过查找字符串中尾部的连续字符串来返回结果的原创 2020-05-14 09:06:56 · 327 阅读 · 0 评论 -
伍六七带你学算法 入门篇 ——最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。原创 2020-05-14 08:32:29 · 343 阅读 · 0 评论 -
伍六七带你学算法 入门篇-卡牌分组
力扣-914. 卡牌分组难度-简单这是一道非常有趣的题,提交通过率令人深思 ,思考它是不是一道简单的题…开始正题:给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。示例 1:输入:[1,2,3,4,4,3...原创 2020-03-27 18:17:22 · 926 阅读 · 0 评论 -
伍六七带你学算法 入门篇-链表的中间节点
力扣-876链表的中间节点难度-简单给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:an...原创 2020-03-23 22:32:53 · 307 阅读 · 0 评论 -
伍六七带你学算法 入门篇-最小的k个数
java面试题-最小的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 <=...原创 2020-03-20 14:12:52 · 399 阅读 · 0 评论 -
伍六七带你学算法 入门篇-最长回文串
力扣解题,每日一题:409. 最长回文串难度- 简单给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:“abccccdd”输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。来源:力扣...原创 2020-03-19 19:36:30 · 325 阅读 · 0 评论 -
伍六七带你学算法 入门篇-拼写单词
力扣解题,每日一题 1160. 拼写单词难度- 简单给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表 words 中你掌握的所有单词的 长度之和。示例 1:...原创 2020-03-18 19:24:29 · 376 阅读 · 0 评论 -
伍六七带你学算法 入门篇-矩形重叠
力扣解题-----每日一题-836矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。给出两个矩形,判断它们是否重叠并返回结果。示例 1: 输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3] 输出:...原创 2020-03-18 11:46:35 · 935 阅读 · 0 评论
分享