![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 62
ALittleKnight
心有猛虎,细嗅蔷薇。
展开
-
2. 两数相加 Add Two Numbers
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9], l2原创 2021-03-30 14:33:10 · 233 阅读 · 0 评论 -
149. 直线上最多的点数 Max Points on a Line
直线上最多的点数给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例 1:示例 2:我的解题:哈希法思路:判断一个点是否在直线上,只需要一个起始点和斜率。用一个for循环遍历所有点作为起始点,然后遍历剩下的元素的斜率。因为斜率可能是小数,所以用求得最简约分的分数表示。将斜率存储在hashmap中,value存储出现次数。求得次数最高的点数+1即可做法:1、判断特殊情况,为空或者数组数量小于32、遍历数组,依次作为起始点。3、遍历剩下的元素,求得最大公约数,求.原创 2021-03-27 22:20:19 · 191 阅读 · 0 评论 -
451. 根据字符出现频率排序
给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:“tree”输出:“eert”解释:'e’出现两次,'r’和’t’都只出现一次。因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。示例 2:输入:“cccaaa”输出:“cccaaa”解释:'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。注意"cacaca"是不正确的,因为相同的字母必须放在一起。示例 3:输入:“Aabb”输出:“bbAa”解释:原创 2021-03-18 15:51:05 · 162 阅读 · 0 评论 -
438. 找到字符串中所有字母异位词
找到字符串中所有字母异位词给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串。不考虑答案输出的顺序。示例 1:输入:s: “cbaebabacd” p: “abc”输出:[0, 6]解释:起始索引等于 0 的子串是 “cba”, 它是 “abc” 的字母异位词。起始索引等于 6 的子串是 “bac.原创 2021-03-13 22:14:33 · 167 阅读 · 0 评论 -
3. 无重复字符的最长子串(滑动窗口解法)
无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pw.原创 2021-03-13 20:03:24 · 324 阅读 · 0 评论 -
面试中常考的排序算法比较
面试中常考的几种排序(插入,冒泡,快排,选择排序)1、插入排序思路:从位置1开始往后遍历,每个值插入到前面的合适位置。对于比他大的值,往后移一位,否则就插入时间复杂度:O(n^2),空间复杂度:O(1)public static void insertSort(int[] nums) { //从1开始遍历 for (int i = 1; i < nums.length; i++) { int temp = nums[i];原创 2021-03-11 17:00:02 · 236 阅读 · 0 评论 -
从一个小算法开始动态规划入门
从一个小算法开始动态规划入门算法问题描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额...原创 2020-11-16 11:09:27 · 123 阅读 · 0 评论