自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 【BlankFox学习笔记-重构与模式】趋向Factory的重构——针对创建对象部分重构代码

趋向Factory的重构笔记版本:1.0作者:BlankFox(CSDN主页)归档:重构与模式写在前面:**ps:**重构是针对现有代码的重新构建,使得其更易于理解、扩展以及修改,在重构的过程中不能凭感觉修改代码,这会导致很多问题——重构后代码不能运行、代码更复杂、代码产生新的需要重构的部分。因此,代码重构需要一些发现问题的方法指导,以及规定一些大致步骤,循序渐进,逐步测试。ps:在既有代码中,一定存在很多创建对象的内容,优秀的代码会很清晰的告诉代码读者——创建了什么对象,而不是让读者去

2022-04-25 14:01:28 505

原创 【BlankFox学习笔记-设计模式】Factory工厂模式——更灵活的创建实例

Factory——更灵活的创建实例笔记版本:2.0作者:BlankFox(CSDN主页)归档:设计模式浅谈写在前面:ps: 所谓 设计模式 就是前人总结的良好代码模板——想象一下:当在求职时被问到一个大概的需求时,能够清晰直接的对他说:“根据XXX设计模式的思想,可以设计如下几个角色…”——这种就好像英语等级考试的作文,恰好命中了你背的那篇模板,清晰的思路以及良好的扩展性和易于理解的结构,会让你爱上你的代码❤️ps:Factory模式——创建方法的集合,帮助创建对象的”工具人”(能够让

2022-04-24 23:01:58 664

原创 【学习笔记】认识重构和设计模式——步入代码优化的世界(通俗易懂向)

认识重构和设计模式欢迎关注我、共勉:star:认识重构与模式一、重构和设计模式的概念二、重构的两大类型三、测试驱动和复合重构四、一些问题和回顾欢迎关注我、共勉⭐️⭐️⭐️代码之狐⭐️⭐️主要内容:时不时更新算法题解,算法与数据结构时不时分享心灵鸡汤,详见杂谈栏目前主要在学Java高级内容(虚拟机、框架什么的),以及很重要的软件工程、重构和设计模式等,会将书中的知识点提炼总结分享认识重构与模式好的代码让人赏心悦目,而坏的代码让人“难以下咽”,举步维艰!一、重构和设计模式的概念

2022-04-23 11:19:10 807

原创 软件工程过程模型——统一过程模型

统一过程模型统一过程模型一、统一过程二维模型1.二维模型图示2.模型构成二、统一过程实践方法欢迎关注我、共勉:star:统一过程模型好的设计思想总是会在不同的模型中以不同的表达方式反复提及,甚至是不同领域的原则都有许多相似之处统一过程模型:用例驱动为导向(注重功能的完善),以软件架构为核心(严谨的结构过程),经过多次迭代(不像大瀑布模型一样一通到底)增量(可不断扩展的功能需求)的软件过程框架,由UML方法及其工具支持。一、统一过程二维模型具体可以结合下面的二维模型理解:1.二维模型图示每个

2022-04-20 09:00:00 5157

原创 面向对象设计(OOD)——设计指导编程,不要再半途而废啦

面向对象设计面向对象设计(OOD)一、面向对象设计过程二、面向对象设计原则三、具体的设计过程欢迎关注我、共勉:star:面向对象设计(OOD)一、面向对象设计过程什么是软件工程的设计过程?之前以及分享了一部分面向对象分析的三大模型,接下来仅仅只有模型当然不能算作是一个完整的软件流程,接下来的就是面向对象设计:把模型(需求分析获得)转化为解决方案——主要分为两个部分:总体设计(系统设计到结构设计)系统=程序+数据库+人工过程+文档支撑结构=模块+关系详细设计(精确描述)以变量命名+伪

2022-04-19 09:00:00 1917 1

原创 软件的开发过程——从想法到实现,是什么让我们半途而废?

软件的开发过程一、什么是软件的生产过程具体完整的软件开发阶段二、软件开发过程模型欢迎关注我、共勉:star:一、什么是软件的生产过程是不是时不时都有一些新的idea冒出来,或者刚学完某种技术总有种把它用出来的冲动,每次都急急忙忙的开始,然后又毛毛躁躁的收场,这就是初学者的软件“生产过程”——最后他也可能会有总结:这是一次失败的尝试,我技术还没学到家?软件开发、想法落地的失败到底是不是你编程能力的问题?毫无疑问,确实是!但是这里说的编程可能不是你理解的编程,看一看软件开发的具体阶段你可能会有所

2022-04-17 22:07:35 531

原创 软件工程概述——现在才知道自己喜欢的不是计算机,而是软件开发

软件工程概述软件工程概述一、软件工程的由来二、软件工程的基本原则三、CASE?欢迎关注我、共勉:star:软件工程概述最开始的时候,我以为自己喜欢的是计算机,到现在才发现,自己喜欢的是做软件——这二者之间的差别实在是太大了在我草草学完Java基础,学完Python基础,甚至是学完C那会儿,就有很大的冲动做一个属于自己的小游戏,但是尽管提出的idea很小,其实现如果没有严谨的步骤支撑,很很难达到预想的效果。对于非软件工程专业,但也还是计算机大类的我来说,尽管已经学习了很多东西:但是当到了自力更生做一个

2022-04-15 21:39:14 884

原创 面向对象分析(OOA)——如何开始做一个像样的”项目“?如何分析别人的项目?

面向对象分析(OOA)面向对象设计(OOA)阶段三大模型一、功能模型功能模型和用例图用例图的简单组成二、动态模型动态模型的描述动态模型设计启发方法三、对象模型对象启发欢迎关注我、一起共勉面向对象设计(OOA)阶段三大模型功能模型:用例图简要的揭示系统需要实现的功能动态模型:以时序图的形式展现用户交互发生过程对象模型:使用类图表示系统需要设计的对象一、功能模型功能模型和用例图功能模型指描述系统功能的模型,可以有多种实现方式,但最常使用用例图描述。以下是用例图的相关描述尽管用例本身会涉及大

2022-04-14 21:36:31 3376

原创 HotSpot虚拟机垃圾回收细节——记忆集、并发可达性分析手段、安全点

HotSpot虚拟机垃圾回收细节HotSpot虚拟机垃圾回收细节一、GC Roots枚举效率的提升二、安全点和安全区策略三、记忆集和卡表五、并发可达性分析的两种避免对象消失的手段欢迎关注我、一起共勉这部分内容略显得枯燥,但是对于了解垃圾收集器的细节却是不得不学习这部分内容。HotSpot虚拟机垃圾回收细节然后严密的体系到达一个相对底层的位置,都会变得十分复杂,源代码和原理即是如此,我们了解垃圾回收不能够仅仅停留与表面,而是要探究如何实现这样一个复杂的功能——这对我们了解和掌握Java体系有一定的帮

2022-04-12 21:31:22 1316 1

原创 DOM4J——强大而易用的XML解析器,我们不只是有数据库

DOM4J——强大而易用的XML解析器DOM4J一、DOM4J的导入使用二、认识一些关键角色三、快速开始3.1创建一个XML3.2读取XML节点(历遍和指定)3.3规范输出结尾欢迎关注我、一起共勉DOM4J是一个Java的XML API,是jdom的升级品,用来读写XML文件.dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件.对于一些零碎的信息,使用数据库似乎有些大材小用,我们可以使

2022-04-11 20:56:52 4041

原创 GC之Stop the World、对象消失问题(图解生动表达)

垃圾回收的秘密垃圾回收之Stop the World、对象消失问题一、Stop the World!二、我对象呢?欢迎关注我、一起共勉垃圾回收之Stop the World、对象消失问题一、Stop the World!为什么垃圾回收可达性分析枚举根节点阶段需要Stop the World——暂停所有用户线程!!!而不是像可达性分析标记阶段那样和用户线程并发😠一个很简单的道理: 我不能一边移动物品一边记录它们的位置,这无异于刻舟求剑考虑这样一种情况:如果根节点枚举通过一个用户线程变量

2022-04-10 16:47:03 993

原创 Java发展历程速览——从1.0 到 17,不到30岁的Java经历了什么?

Java发展历程速览Java发展历程速览一、Java构成和几个名词二、Java发展历程三、未来展望欢迎关注我、一起共勉Java发展历程速览PHP是世界上最好的语言😂,这当然不可能,也不是Java、C++,“最好的”还没出现没有什么语言是完美无缺的,不断的发展就是一个臻于完美的过程;世界上也没有完美的人,我们也不是生下来等死的废话不多说,Java是一个很庞大的体系,不仅仅只是简单的工具,其中有很多直接思考的泛用性的设计。接下来,我将从简单的几个Java名词开始,然后回顾总结一下Java的发展历程

2022-04-09 21:03:31 1284

原创 Java GC(垃圾收集器)探秘——基本概念

GC来收垃圾喽!Java GC(垃圾收集器)探秘——基本概念一、对象无效判断方法二、引用分类、两次标记和自我拯救三、垃圾收集基础理论和基本方法Java GC(垃圾收集器)探秘——基本概念⭐️GC ,收垃圾咯!不同于C++的一大特点就是Java有自己的垃圾回收系统,不需要程序开发者自己实现“打扫”工作。主要负责区域是Java堆——程序计数区和虚拟机栈区的内存都是编译时期可知,分配回收井然有序的,但是Java堆区的对象分配由于对象大小不一,而且对象被“抛弃不用”的时间又各不相同,由此需要一个强大的垃圾收

2022-04-08 20:52:34 457

原创 学习和思考的一点小总结

学习和思考总结思维的垃圾堆学习新知识的三大阶段一、解读名词阶段二、狂啃专业书阶段三、思考输出阶段思维的垃圾堆对陌生的知识的忽视会像房间中不打扫的角落一般,堆出一堆垃圾堆来…根据我个人略显邋遢的生活习惯,如果垃圾桶里的垃圾满了还打算放一会儿的话,那下次准备倒垃圾应该是几天后了,而且早就溢出来了,让人越来越不想去收拾。这就和一个经典的案例一样,如果一辆车光洁如新放在一个犯罪高发区,大概率不出问题;但是如果车窗破了或者很明显很久没人使用,那么情况就完全不一样了。简单的来说,坏的事情大概率越来越坏。还

2022-04-07 21:12:58 627

原创 Java虚拟机数据区域和对象初探

Java虚拟机数据区域和对象初探Java虚拟机的内存区域和内存溢出异常一、运行时数据区域二、对象探秘三、内存溢出发生区域Java虚拟机的内存区域和内存溢出异常一、运行时数据区域程序计数区、虚拟机栈、本地方法栈、Java堆、方法区、运行时常量池程序计数区:指向当前执行字节码行号的一小块内存区域作用:分支跳转、循环… 异常处理、线程恢复等都依赖于这块区域线程私有:由于每个线程执行的代码位置都不同,因此该区域线程私有虚拟机栈:保存线程执行方法的内存模型,是一个栈结构,每个栈帧保存方法的

2022-04-06 22:19:20 874

原创 JDBC浅尝辄止——JAVA如何使用最朴素的方法连通数据库

JDBC浅尝辄止写在前面一、数据库统一接口JDBC二、使用方法(主体部分)三、代码四、其他介绍写在前面尽管现在各种框架层出不穷,完美的提供了更为便捷的操作数据库的API。但是对于初学者用来练习SQL语法,或者掌握一点基础的JDBC的使用方法,应用于一些小型的自己做着玩的小型项目来说,JDBC都还是有学习的价值。一、数据库统一接口JDBC•JDBC(Java DataBase Connectivity), 即java数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提

2022-04-04 21:00:36 1449 1

原创 【每日一题】带限制的DFS——逃离大迷宫,今天开始恢复更新

1036.逃离大迷宫\color{red}{1036. 逃离大迷宫}1036.逃离大迷宫在一个 10^6 x 10^6 的网格中,每个网格上方格的坐标为 (x, y) 。现在从源方格 source = [sx, sy] 开始出发,意图赶往目标方格 target = [tx, ty] 。数组 blocked 是封锁的方格列表,其中每个 blocked[i] = [xi, yi] 表示坐标为 (xi, yi) 的方格是禁止通行的。每次移动,都可以走到网格中在四个方向上相邻的方格,只要该方格 不 在给出的封

2022-03-15 21:30:00 388 2

原创 【每日一题见微知著】力扣周赛又一次全AC,有点膨胀了

6016. Excel 表中某个范围内的单元格Excel 表中的一个单元格 (r, c) 会以字符串 "<col><row>" 的形式进行表示,其中:<col>即单元格的列号c。用英文字母表中的字母标识。例如,第 1 列用 'A' 表示,第 2 列用 'B' 表示,第 3 列用 'C' 表示,以此类推。<row> 即单元格的行号 r 。第 r 行就用 整数 r 标识。给你一个格式为 "<col1><ro

2022-03-06 22:34:32 242 2

原创 【每日一题见微知著】贪心+回文数排列——通过一半数字构造回文,然后判断是否符合题意

564.寻找最近的回文数\textcolor{red}{564. 寻找最近的回文数}564.寻找最近的回文数给定一个表示整数的字符串 n ,返回与它最近的回文整数(不包括自身)。如果不止一个,返回较小的那个。“最近的”定义为两个整数差的绝对值最小。class Solution { public String nearestPalindromic(String n) { Long m=Long.valueOf(n); if(m<=10){

2022-03-02 22:49:06 183 1

原创 【每日一题见微知著】记录一次力扣周赛全AC

2185. 统计包含给定前缀的字符串给你一个字符串数组 words 和一个字符串 pref 。返回 words 中以 pref 作为 前缀 的字符串的数目。字符串 s 的 前缀 就是 s 的任一前导连续字符串。class Solution { public int prefixCount(String[] words, String pref) { int ans=0; for(String i:words){ if(j(i,pref)

2022-02-28 23:27:03 7336

原创 【每日一题见微知著】分割数组的最多方案数

2025.分割数组的最多方案数\textcolor{Red}{2025. 分割数组的最多方案数}2025.分割数组的最多方案数给你一个下标从 0 开始且长度为 n 的整数数组 nums 。分割 数组 nums 的方案数定义为符合以下两个条件的 pivot 数目:1 <= pivot < nnums[0] + nums[1] + ... + nums[pivot - 1] == nums[pivot] + nums[pivot + 1] + ... + nums[n - 1]同时给你一

2022-02-26 23:46:15 439

原创 【每日一题见微知著】位标记法——好子集的数目

1994.好子集的数目\textcolor{Red}{1994. 好子集的数目}1994.好子集的数目给你一个整数数组 nums 。如果 nums 的一个子集中,所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为 好子集 。比方说,如果nums = [1, 2, 3, 4]:[2, 3] ,[1, 2, 3] 和 [1, 3] 是 好 子集,乘积分别为 6 = 2*3 ,6 = 2*3 和 3 = 3 。[1, 4] 和 [4] 不是 好 子集,因为乘积分别为 4

2022-02-22 22:53:57 303

原创 【寒假总结】——刷题+锻炼身体+规律作息(我以后再也不带书回去看了)

这里是【代码之狐】的寒假总结——欸?我寒假呢?——还有正在享受寒假的同学们抓紧,你们的时间不多了自1月16左右放假到现在开学,差不多30天吧(????太短了)我完成的小目标:⭐️力扣刷题:完成230道题左右,其中Easy:Mid:Hard约为3:3:1⭐️锻炼身体:主要是长肉(太廋了,不健康)+每天有一定量的运动⭐️规律作息:从凌晨到了12点左右,争取12点之前????专业书:背几大本书回去的我是…目录:star:刷题总结:一、刷题数二、周赛三、贴一道今天的周赛——【每日一题】结尾

2022-02-20 21:10:59 452

原创 【每日一题见微知著】二分法——找单身狗(bushi)

⭐️寒假新坑——代码之狐的每日做题笔记????寒假快到期了????540. 有序数组中的单一元素-Mid(二分查找变形)给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。请你找出并返回只出现一次的那个数。你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。class Solution { public int singleNonDuplicate(int[] nums) { int l=0; i

2022-02-14 22:26:08 510 1

原创 【每日一题见微知著】力扣——第 280 场周赛(别人的难题解法我是真不知道可以这么简洁)

⭐️寒假新坑——代码之狐的每日做题笔记????寒假快到期了????6007. 数组的最大与和-Hard-第 280 场周赛题4给你一个长度为 n 的整数数组 nums 和一个整数 numSlots ,满足2 * numSlots >= n 。总共有 numSlots 个篮子,编号为 1 到 numSlots 。你需要把所有 n 个整数分到这些篮子中,且每个篮子 至多 有 2 个整数。一种分配方案的 与和 定义为每个数与它所在篮子编号的 按位与运算 结果之和。比方说,将数字 [1, 3]

2022-02-13 22:10:52 470 2

原创 【每日一题见微知著】前缀和——统计农场中肥沃金字塔的数目

⭐️寒假新坑——代码之狐的每日做题笔记????寒假快到期了????2088. 统计农场中肥沃金字塔的数目-Hard(前缀和快速检测数组)-第 66 场双周赛题4有一个 矩形网格 状的农场,划分为 m 行 n 列的单元格。每个格子要么是 肥沃的 (用 1 表示),要么是 贫瘠 的(用 0 表示)。网格图以外的所有与格子都视为贫瘠的。农场中的 金字塔 区域定义如下:区域内格子数目 大于 1 且所有格子都是 肥沃的 。金字塔 顶端 是这个金字塔 最上方 的格子。金字塔的高度是它所覆盖的行数。令 (

2022-02-12 23:07:56 224 1

原创 【每日一题见微知著】预处理+二分查找——区间内查询数字的频率

⭐️寒假新坑——代码之狐的每日做题笔记????寒假快到期了????⭐️2080. 区间内查询数字的频率-Mid-第 268 场周赛题3请你设计一个数据结构,它能求出给定子数组内一个给定值的 频率 。子数组中一个值的 频率 指的是这个子数组中这个值的出现次数。请你实现 RangeFreqQuery 类:RangeFreqQuery(int[] arr) 用下标从 0 开始的整数数组 arr 构造一个类的实例。int query(int left, int right, int value)

2022-02-11 20:18:26 487 1

原创 【每日一题见微知著】静态连通图,广度优先搜索——找出知晓秘密的所有专家(Hard)寒假没几天了,还不刷题吗

⭐️寒假新坑——代码之狐的每日做题笔记????寒假快到期了????⭐️2092. 找出知晓秘密的所有专家-Hard(静态连通图,广度优先搜索)-第 269 场周赛题4给你一个整数 n ,表示有 n 个专家从 0 到 n - 1 编号。另外给你一个下标从 0 开始的二维整数数组 meetings ,其中 meetings[i] = [xi, yi, timei] 表示专家 xi 和专家 yi 在时间 timei 要开一场会。一个专家可以同时参加 多场会议 。最后,给你一个整数 firstPerson

2022-02-10 19:49:52 152 1

原创 【每日一题见微知著】欧拉图的Hierholzer算法——难题还是有意思啊

⭐️寒假新坑——代码之狐的每日做题笔记2097. 合法重新排列数对-Hard-第 270 场周赛题4给你一个下标从 0 开始的二维整数数组 pairs ,其中 pairs[i] = [starti, endi] 。如果 pairs 的一个重新排列,满足对每一个下标 i ( 1 <= i < pairs.length )都有 endi-1 == starti ,那么我们就认为这个重新排列是 pairs 的一个 合法重新排列 。请你返回 任意一个 pairs 的合法重新排列。**注意:*.

2022-02-08 21:50:16 229

原创 【每日一题见微知著】第 279 场周赛题——周赛还是有意思啊

⭐️寒假新坑——代码之狐的每日做题笔记⭐️解题思路按下标奇偶分组保存,分别排序处理获取每一位数字,排序,根据正负分类处理(负数要求重排后的正数最大,正数要求最小且没有前导零)难点是考虑优化反转操作——保存一个反转数组,反转操作不用重新处理每一位,只是将反转数组和当前数组交换即可,不然超时DP,使用L[i]保存只考虑从左处理完i节点的最小花费,R[i]同理,然后再次历遍一次,判断L[i]+R[i+1]是否最小花费(注意L[n]和R[0]单独判断,表示只从左往右处理或从右往左处理);求DP数.

2022-02-06 20:00:00 885

原创 【每日一题见微知著】273周赛题-明天更新今天的周赛题

⭐️寒假新坑——代码之狐的每日做题笔记2122. 还原原数组-Hard-273周赛题4Alice 有一个下标从 0 开始的数组 arr ,由 n 个正整数组成。她会选择一个任意的 正整数 k 并按下述方式创建两个下标从 0 开始的新整数数组 lower 和 higher :对每个满足 0 <= i < n 的下标 i ,lower[i] = arr[i] - k对每个满足 0 <= i < n 的下标 i ,higher[i] = arr[i] + k不幸地是,Al.

2022-02-05 23:46:38 628

原创 【每日一题见微知著】字符串匹配问题-串联所有单词的子串-Hard

⭐️寒假新坑——代码之狐的每日做题笔记30. 串联所有单词的子串-Hard题目描述:给定一个字符串 s 和一些 长度相同 的单词 words **。**找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。注意子串要与 words 中的单词完全匹配,中间不能有其他字符 ,但不需要考虑 words 中单词串联的顺序。解题思路:使用一个数组count[][]保存words数组中每种字符串出现的次数,并利用一个HashMap保存字符串与其在count中的位置对应,比如&l.

2022-02-04 19:40:27 695

原创 【每日一题见微知著】数组前缀查询简化——用邮票贴满网格图-Hard

⭐️寒假新坑——代码之狐的每日做题笔记2132. 用邮票贴满网格图-Hard给你一个 m x n 的二进制矩阵 grid ,每个格子要么为 0 (空)要么为 1 (被占据)。给你邮票的尺寸为 stampHeight x stampWidth 。我们想将邮票贴进二进制矩阵中,且满足以下 限制 和 要求 :覆盖所有 空 格子。不覆盖任何 被占据 的格子。我们可以放入任意数目的邮票。邮票可以相互有 重叠 部分。邮票不允许 旋转 。邮票必须完全在矩阵 内 。如果在满足上述要求的前提下,可.

2022-02-03 21:49:25 428

原创 【每日一题见微知著】BFS和DP——力扣第70场双周赛

⭐️寒假新坑——代码之狐的每日做题笔记第一题,贪心思想(每次拿最大的两个,然后免费拿最大的第三个——能够免费拿的糖数量是有限的,为什么不免费一个贵的呢)第二题,数学思维(所有数字都在一个范围里面,只需要记录最大和最小的值即可,差值数组表示每个值都是统一变化的,最大最小值统一+n/-n;找到满足范围的可能即可)第三题,BFS(我得精简一下我的代码结构了,好好梳理一下经典方法 ????)第四题,DP(没什么好说的,甚至不如第三题)2144. 打折购买糖果的最小开销一家商店正在打折销售糖果。每购买

2022-02-02 18:45:00 611

原创 【每日一题见微知著】滑动窗口+BFS+位运算——周赛快乐,新年快乐

⭐️寒假新坑——代码之狐的每日做题笔记5993. 将找到的值乘以 2-周赛题1给你一个整数数组 nums ,另给你一个整数 original ,这是需要在 nums 中搜索的第一个数字。接下来,你需要按下述步骤操作:如果在 nums 中找到 original ,将 original 乘以 2 ,得到新 original(即,令 original = 2 * original)。否则,停止这一过程。只要能在数组中找到新 original ,就对新 original 继续 重复 这一过程**。.

2022-01-30 21:26:06 1372

原创 【每日一题见微知著】多源点BFS——地图中的最高点-Mid

⭐️寒假新坑——代码之狐的每日做题笔记1765. 地图中的最高点-Mid题目描述:给你一个大小为 m x n 的整数矩阵 isWater ,它代表了一个由 陆地 和 水域 单元格组成的地图。如果 isWater[i][j] == 0 ,格子 (i, j) 是一个 陆地 格子。如果 isWater[i][j] == 1 ,格子 (i, j) 是一个 水域 格子。你需要按照如下规则给每个单元格安排高度:每个格子的高度都必须是非负的。如果一个格子是是 水域 ,那么它的高度必须为 0 。.

2022-01-29 20:00:00 163

原创 【每日一题见微知著】二维数组排序——游戏中弱角色的数量-Mid

⭐️寒假新坑——代码之狐的每日做题笔记1996. 游戏中弱角色的数量-Mid题目描述:你正在参加一个多角色游戏,每个角色都有两个主要属性:攻击 和 防御 。给你一个二维整数数组 properties ,其中 properties[i] = [attacki, defensei] 表示游戏中第 i 个角色的属性。如果存在一个其他角色的攻击和防御等级 都严格高于 该角色的攻击和防御等级,则认为该角色为 弱角色 。更正式地,如果认为角色 i 弱于 存在的另一个角色 j ,那么 attackj >.

2022-01-28 18:56:49 3188

原创 【每日一题见微知著】回溯+位标记法——曾经高攀不起的Hard题-解数独,不过如此嘛

⭐️寒假新坑——代码之狐的每日做题笔记37. 解数独-Hard题目描述:编写一个程序,通过填充空格来解决数独问题。数独的解法需 遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用 '.' 表示。解题思路:使用数组保存每一行,列,每个九宫格的状态(已经填入的数字,使用二进制位表示0000……01表示1已经填入)每次填入一个.

2022-01-27 11:22:55 408

原创 【每日一题见微知著】简单Hash表——正方形检测-Mid

⭐️寒假新坑——代码之狐的每日做题笔记2013. 检测正方形-Mid给你一个在 X-Y 平面上的点构成的数据流。设计一个满足下述要求的算法:添加 一个在数据流中的新点到某个数据结构中**。**可以添加 重复 的点,并会视作不同的点进行处理。给你一个查询点,请你从数据结构中选出三个点,使这三个点和查询点一同构成一个 面积为正 的 轴对齐正方形 ,统计 满足该要求的方案数目**。**轴对齐正方形 是一个正方形,除四条边长度相同外,还满足每条边都与 x-轴 或 y-轴 平行或垂直。实现 Det.

2022-01-26 19:00:00 432

原创 【每日一题见微知著】模拟题——三合一(比赛次数、对角线历遍、生命游戏)

⭐️寒假新坑——代码之狐的每日做题笔记1688. 比赛中的配对次数给你一个整数 n ,表示比赛中的队伍数。比赛遵循一种独特的赛制:如果当前队伍数是 偶数 ,那么每支队伍都会与另一支队伍配对。总共进行 n / 2 场比赛,且产生 n / 2 支队伍进入下一轮。如果当前队伍数为 奇数 ,那么将会随机轮空并晋级一支队伍,其余的队伍配对。总共进行 (n - 1) / 2 场比赛,且产生 (n - 1) / 2 + 1 支队伍进入下一轮。返回在比赛中进行的配对次数,直到决出获胜队伍为止。class.

2022-01-25 18:30:00 2526

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除