
leetcode
文章平均质量分 56
扫地の小沙弥
算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,就似你失去了灵魂
展开
-
Leetcode--H-Index
Leetcode–H-Index欢迎关注H寻梦人公众号题目解析:思路:1、首先看到h个元素大于等于某个值,N-h个元素小于等于某个值,这显然是一个有序序列的特征,所以自然而然的想到先将数组排序;2、将数组排序之后,对于给定的某个i,我们知道有citations.length - i篇论文的引用数 ≥ citations[i],i篇论文的引用数 ≤ citations[i];3、不妨设h = citations.length - i,即至多有h篇论文分别引用了至少citation[i]原创 2021-07-11 18:37:44 · 187 阅读 · 0 评论 -
Leetcode系列----「Diving Board LCCI」
题解如下:public class DivingBoardLCCI { /** * 暴力解法,遍历每一种可能性 时间复杂度:O(2*N) * @param shorter * @param longer * @param k * @return */ public int[] divingBoard(int shorter, int longer, int k) { if (k==0) { ..原创 2020-07-08 22:22:20 · 265 阅读 · 0 评论 -
Leetcode系列----「Convert Sorted Array to Binary Search Tree」
题目描述:题解:public class ConvertSortedArrayToBinarySearchTree { /** * hint: 数组已经排序,用类似二分的手段将数组分开建树,最后的高度差一定小于等于一,因为左右子树最多只会相差一个元素 * @param nums * @return */ public TreeNode sortedArrayToBST2(int[] nums) { if (nums == nul原创 2020-07-05 00:22:21 · 139 阅读 · 1 评论 -
Leetcode系列----「Longest Valid Parentheses」
题目描述:题解:public class LongestValidParentheses { /** * 解法一:暴力解法,超时了 * 从最大长度的字串,判断字串是否是合格的,如果是,那么当前字串长度就是结果 * @param s * @return */ public int longestValidParentheses2(String s) { int len = s.length(); Stac原创 2020-07-05 00:18:33 · 182 阅读 · 0 评论 -
Leetcode系列----「Remove Duplicates from Sorted List」
题解:public class RemoveDuplicatesFromSortedList { /** * 解法一:逻辑解法,直接把链表当成数组一样来处理就可以了 * @param head * @return */ public ListNode deleteDuplicates(ListNode head) { if (head == null) return head; int pre = head.v..原创 2020-07-05 00:12:33 · 168 阅读 · 0 评论 -
Leetcode系列----「Merge Sorted Array」
题解:public class MergeSortedArray { /** * 逆向思维:我们从大到小选数,从小到大选数会操作会比较麻烦 * 只需要将nums2填充到nums1即可 * @param nums1 * @param m * @param nums2 * @param n */ public void merge(int[] nums1, int m, int[] nums2, int n) { ..原创 2020-07-04 23:55:07 · 473 阅读 · 0 评论 -
幂函数的位运算解法
以我们常用的2的幂、3的幂、4的幂解法作为例子1. 2的幂解法问题: 判断一个数是否是2的幂解法一: 常规解法bool isPowerOfTwo(int n) { if (n <= 0) return false; int ans = 0; while (n != 0) { if (n&1) ans++; n >>= 1; }...原创 2019-02-22 13:57:07 · 1482 阅读 · 0 评论 -
二叉树中的最大路径和
文章目录二叉树中的最大路径和二叉树中的最大路径和给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例 2:输入: [-10,9,20,null,null,15,7] ...原创 2019-04-17 19:22:27 · 280 阅读 · 0 评论 -
编辑距离算法【莱文斯坦距离、Levenshtein 算法】
文章目录算法概述:应用与其他编辑距离度量的关系问题定义:解析:例题:参考链接:算法概述:在信息论和计算机科学中,莱文斯坦距离是一种两个字符串序列的距离度量。形式化地说,两个单词的莱文斯坦距离是一个单词变成另一个单词要求的最少单个字符编辑数量(如:删除、插入和替换)。莱文斯坦距离也被称做编辑距离,尽管它只是编辑距离的一种,与成对字符串比对紧密相关。一般来说,编辑距离越小,两个串的相似度越大。...原创 2019-05-15 22:17:02 · 1536 阅读 · 0 评论