力扣
文章平均质量分 54
qq_46592233
新手一枚,请多多指教;文章仅作为分享,如有错误请指出。
展开
-
力扣518.零钱兑换---完全背包问题。
给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。假设每一种面额的硬币有无限个。题目数据保证结果符合 32 位带符号整数。示例 1:输入:amount = 5, coins = [1, 2, 5]输出:4解释:有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例 2:输入:amount = 3, coins = [2]原创 2021-06-11 21:02:10 · 162 阅读 · 2 评论 -
力扣1190. 反转每对括号间的子串
给出一个字符串 s (仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中 不应 包含任何括号。示例 1:输入:s = “(abcd)”输出:“dcba”示例 2:输入:s = “(u(love)i)”输出:“iloveu”示例 3:输入:s = “(ed(et(oc))el)”输出:“leetcode”示例 4:输入:s = “a(bcdefghijkl(mno)p)q”输出:“apmnolkjihgfedc原创 2021-05-26 14:55:32 · 132 阅读 · 0 评论 -
力扣421.数组中两个数的最大异或值
给你一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n 。进阶:你可以在 O(n) 的时间解决这个问题吗?(不要试图暴力,亲测,无用)。示例 1:输入:nums = [3,10,5,25,2,8]输出:28解释:最大运算结果是 5 XOR 25 = 28.示例 2:输入:nums = [0]输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum原创 2021-05-24 15:53:16 · 273 阅读 · 0 评论 -
力扣.1738找出第 K大的异或坐标值。
给你一个二维矩阵 matrix 和一个整数 k ,矩阵大小为 m x n 由非负整数组成。矩阵中坐标 (a, b) 的 值 可由对所有满足 0 <= i <= a < m 且 0 <= j <= b < n 的元素 matrix[i][j](下标从 0 开始计数)执行异或运算得到。请你找出 matrix 的所有坐标中第 k 大的值(k 的值从 1 开始计数)。例子1:输入:matrix = [[5,2],[1,6]], k = 1输出:7解释:坐标 (0,1)原创 2021-05-20 17:12:32 · 105 阅读 · 0 评论 -
力扣872. 叶子相似的树
请考虑一棵二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。举个例子,如上图所示,给定一棵叶值序列为 (6, 7, 4, 9, 8) 的树。如果有两棵二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。如果给定的两个根结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false 。示例 1:输入:root1 = [3,5,1,6,2,9,8,null,null,7,4], root2 = [3,5,1,6,7,4,2,null,nu原创 2021-05-11 15:02:14 · 82 阅读 · 0 评论 -
力扣208.实现前缀树
Trie(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。请你实现 Trie 类:Trie() 初始化前缀树对象。void insert(String word) 向前缀树中插入字符串 word 。boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);否则,返回 false 。boolean startsWith(S原创 2021-04-15 14:21:59 · 817 阅读 · 0 评论 -
位运算
Java定义了位算符,应用于整数类型、长整型、短整型、字节型、字符型等类型。位运算符符号作用>>右移运算符,符号左侧的数值向右移动右侧数值指定的位数,若为正数,高位补0,若为负数,高位补1。<<左移运算符,符号左侧的数值向左移动右侧数值指定的位数,并在低位补0。>>>无符号右移运算符,符号左侧数值向右移动右侧数值指定的位数,无论正负,高位补0。&与运算符:每一位,1&1==>1;1&0==原创 2021-03-25 21:41:50 · 84 阅读 · 0 评论 -
力扣81.搜索旋转排序数组
已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转 ,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,4,4,5,6,6,7] 在下标 5 处经旋转后可能变为 [4,5,6,6,7,0,1,2,4,4] 。给你原创 2021-04-13 20:46:48 · 65 阅读 · 0 评论 -
力扣80.删除有序数组中的中的重复项
删除有序数组中的重复项:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。个人思路:定义一个尾下标 tail;定义一个数num表示重复的最后那个数;定义一个数flagNum来判断重复了几次;定义一个数length最后输出结果。对数组进行循环操作;重复次数大于2的不进行任何操做;重复次数小于3的就把当前循环的数赋给尾下标所在的位置;原创 2021-04-07 19:03:54 · 113 阅读 · 0 评论