算法
文章平均质量分 93
落寒-
17级本科
21级硕士研究生在读
展开
-
Leetcode257周周赛
1995 .统计特殊四元组(easy) 5864.游戏中的弱角色 (middle) 1997.访问完所有房间的第一天(middle) 1998.数组的最大公因数排序(hard) 5864. 游戏中弱角色的数量 你正在参加一个多角色游戏,每个角色都有两个主要属性:攻击 和 防御 。给你一个二维整数数组 properties ,其中 properties[i] = [attacki, defensei] 表示游戏中第 i 个角色的属性。 如果存在一个其他角色的攻击和防御等级 都严格高于...原创 2021-09-08 21:16:23 · 290 阅读 · 0 评论 -
棋盘覆盖问题
分治策略求棋盘覆盖问题,旨在将2^k的棋盘分割成若干个小的子棋盘来求解 题目 在一个2k×2k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。 分析 若是要棋盘能被覆盖,则该棋盘中至少有一个特殊方格 解决方法 将棋盘拆分为四个4*4的子棋盘,由于特殊方格在左上,则分别在右上,右下,左下三个棋盘中设置三个能拼成L.原创 2020-06-13 17:49:59 · 242 阅读 · 0 评论 -
分治策略
分治策略的基本思想是,将一个问题分解成若干个子问题,这样不断的递归分解,直到分解的足够小时直接分解。经典的分治策略实现有归并排序,快速排序 步骤 分解:将问题分解为一些子问题,子问题的形式与原问题的方式一致,只是规模更小。 解决:递归的分解出子问题,如果子问题的规模足够小,则停止递归直接求解。 合并:将子问题的解组合成原问题的解 举例说明 排序中比较暴力的方法就是选择排序和冒泡排序,拿选...原创 2019-12-20 21:44:11 · 222 阅读 · 0 评论 -
单链表逆序排序问题
Leetcode上刷到的三个单链表算法题 1.给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. //单链表结构 public class ListNode { int val; L...原创 2019-11-06 23:04:28 · 382 阅读 · 0 评论 -
Leetcode之二分查找法
针对的是一个有序数组进行查找的情况,用二分查找法进行数据查找是一个不错的选择,时间复杂度O(log(n)),定义start和end,不断改变start和end的值来缩小查找的区域 普通二分查找法 给出一个有序数组,在数组中查找数值为a的值 首先定义start和end分别代表数组中查找范围的最小值和最大值的下标,start=0,end=array.length;然后找到中间值array[(st...原创 2019-11-14 20:53:47 · 127 阅读 · 0 评论