自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

丧心病狂Loli控的博客

世界不尽美好,却永远废萌。

  • 博客(499)
  • 资源 (2)
  • 收藏
  • 关注

原创 【LeetCode】Sama的个人记录_76

在遍历过程中同时维护"最小值"和"第二最小值"即可实现O(1)的空间与O(n)的时间class Solution { public boolean increasingTriplet(int[] nums) { int min = Integer.MAX_VALUE; int mid = Integer.MAX_VALUE; for (int num : nums) { if (num <= min) { .

2022-01-17 16:32:00 945 1

原创 【LeetCode】Sama的个人记录_75

for循环的哈希降维问题经典的for循环哈希降维:a+b=sum --> b=sum-a(sum固定,循环a,哈希寻找b)本题的for循环哈希降维:a+b+c=d --> a+b=d-c(手动固定bc,循环d,哈希寻找a)一个细节是:逆序遍历b的话,每次只多了一种c的情况(b+1),因此c的位置不需要单独遍历class Solution { public int countQuadruplets(int[] nums) { int res = 0; .

2022-01-17 16:31:45 833

原创 【Echarts】全国大学信息可视化

文章目录写在前面Stacked Area Chart(堆叠面积图)Stacked Horizontal Chart(堆叠条形图)Chinese Distribution Map(中国分布地图)Basic Bar Chart(基础柱状图)Positive and Negative Column Chart(正负柱状图)Bar Chart on Polar(极坐标柱状图)Basic Pie Chart(基础饼图)Doughnut Chart(环形图)Nightingale Chart(南丁格尔玫瑰图)Tree

2022-01-06 19:39:24 3591 4

原创 【LeetCode】Sama的个人记录_74

一共有三种正确的大写用法:1)全小写(apple)2)全大写(APPLE)3)首字母大写(Apple)配合使用toLowerCase()、toUpperCase()、equals(),非常简单class Solution { public boolean detectCapitalUse(String word) { // 全小写 if (word.toLowerCase().equals(word)) { return true.

2021-12-21 22:23:15 2067

原创 【LeetCode】Sama的个人记录_73

一个小技巧是:用一个长度为26的字符串作为哈希表("23321222122233111121131313")。class Solution { public String[] findWords(String[] words) { // 字符串即哈希表 String rowIndex = "23321222122233111121131313"; List<String> resList = new ArrayList<>();.

2021-11-06 09:34:27 146 1

原创 【LeetCode】Sama的个人记录_72

不难想到,通过与"111...11111"异或即可得到所谓补数。唯一麻烦的是,我们需要构造出这个"111...11111"。class Solution { public int findComplement(int num) { int tmp = num; int xor = 0; while (tmp > 0) { xor = (xor << 1) | 1; tmp.

2021-10-26 15:40:51 173 2

原创 【LeetCode】Sama的个人记录_71

优雅的字符串动态规划。class Solution { public int minDistance(String word1, String word2) { int len1 = word1.length(); int len2 = word2.length(); // dp[i][j]的含义是,word1和word2转化为相同需要的删除操作次数 int[][] dp = new int[len1 + 1][len2 + 1].

2021-10-09 15:10:49 138

原创 【LeetCode】Sama的个人记录_70

一个朴素的思想是,对所有行、所有列、所有3x3块,使用HashSet检测重复。优化的措施是:不使用HashSet,直接使用记录数组即可,甚至可以进一步优化为位运算一个小技巧是:i / 3 * 3 + j / 3 可以计算出3x3块的编号,所以对数独进行一次遍历即可class Solution { public boolean isValidSudoku(char[][] board) { // 某行中,某位数字是否已经被摆放 boolean[][] row .

2021-09-25 21:19:21 125

原创 【LeetCode】Sama的个人记录_69

非常简单直观:前缀和+二分查找class Solution { public int chalkReplacer(int[] chalk, int k) { int len = chalk.length; // step1:前缀和 if (chalk[0] > k) { return 0; } for (int i = 1; i < len; i++) { .

2021-09-25 21:18:56 133

原创 【LeetCode】Sama的个人记录_68

经典的"差分数组"+"前缀和"class Solution { public int[] corpFlightBookings(int[][] bookings, int n) { // 差分数组 int[] diff = new int[n + 1]; for (int[] booking : bookings) { diff[booking[0] - 1] += booking[2]; diff[bo.

2021-09-08 11:39:36 143

原创 【LeetCode】Sama的个人记录_67

非常简单,分别用两个变量记录"累计缺勤"和"连续迟到"的天数即可。class Solution { public boolean checkRecord(String s) { int abstCnt = 0; int lateCnt = 0; for (char c : s.toCharArray()) { abstCnt = abstCnt + (c == 'A' ? 1 : 0); lateC.

2021-08-30 10:16:59 145

原创 【LeetCode】Sama的个人记录_66

先明确两点:1) 如果不按"之"字排列,那么就父子结点的关系就是father=son/22) "之"字排列的本质是,隔行进行对称变换我们的思路就是,"先不按之字排列得到序列,然后隔行对其进行修正"另外需要注意一个细节,修正时还要考虑序列长度的奇偶,关于这点可以找几个例子写写看举个例子,对于label=27:先不按之字排列得到序列:[1, 3, 6, 13, 27]然后隔行对其进行修正:[1, 2, 6, 10, 27]class Solution { public List&.

2021-08-21 18:27:03 141

原创 【剑指offer】LRU缓存

????题目设计和实现一个 LRU(最近最少使用)缓存机制。LRUCache至少需要实现:1)LRUCache(int capacity):以正整数作为容量(capacity)初始化LRU缓存2)int get(int key):如果key存在于缓存中,则返回对应的val;否则返回-13)void put(int key, int value):如果key已存在,则更新它对应的值;如果key不存在,则插入该键值对。注意,如果超过缓存容量,则需要清理掉最近最少使用的那个键值对。 ☘️

2021-08-18 10:09:30 203

原创 【设计模式】用一个专题带你玩转设计模式

???? 什么是设计模式?如果说代码是砖石,那么设计模式就是蓝图,它描述了开发者如何建成一座稳固的大厦。设计模式(Design pattern)代表了最佳的实践。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案,这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。  ???? 设计模式有何作用?设计模式是针对软件设计中常见问题的 工具箱 , 其中的工具就是各种经过实践验证的解决方案。即使你从未遇到过这些问题,了解模式仍然非常有用,因为它能指

2021-08-18 09:35:59 253

原创 【设计模式】访问者模式(Visitor Pattern)

 ???? 核心访问者模式将数据结构与数据操作分离。被访问者拥有一个接待访问者的方法,该方法实现调用主体的反转。 ???? 问题场景你的朋友是一名资深的保险推销员。迫于业绩的压力,他决定拜访街区中的每栋楼,尝试向他们推销保险。他的业务能力非常优秀,可以根据不同的客户推销不同的保险产品。如果是居民楼,他会推销医疗保险;如果是银行,他会推销失窃保险;如果是餐厅,他会推销火灾意外险…现在,你想为这个行为建模。 ???? 解决方案这是个典型的适合访问者模式的场景

2021-08-18 09:30:21 208

原创 【设计模式】模板方法模式(Template Pattern)

 ???? 核心在父类中定义一个算法的骨架,子类实现骨架中的方法,但不能改变骨架的结构。 ???? 问题场景你是一名房屋建筑设计师,现在你需要给一片别墅区设计房屋。这片别墅区计划建造200座别墅,而且,每一座别墅不能相同,必须各具特色——毕竟,你是在设计别墅区,而不是千篇一律的居民楼。你花了三天时间从头到尾设计了一座别墅,又花了三天时间从头到尾设计了一座别墅,又花了三天时间从头到尾设计了一座别墅…还有197座别墅没有设计啊!!!你绝望的哭出了声 >_<&nb

2021-08-18 09:29:48 169

原创 【设计模式】策略模式(Strategy Pattern)

 ???? 核心策略模式就是定义一系列的算法,把它们一个个封装到不同的类中,并且使它们可相互替换。 ???? 问题场景你是一名选择恐惧症重度患者。你快要迟到了,但当你刚踏出家门后,就犯了难——你可以选择骑自行车,也可以做公交车,还可以预约出租车,甚至干脆跑去学校。 ???? 解决方案每一种交通方式,就是一种策略。如果让你写代码,对于这么多种交通方式,你打算用使用 if-else ,将这么多选择和逻辑挤在一个类当中吗?我们有更加优美的设计——对于每一种交通方

2021-08-18 09:29:16 145

原创 【设计模式】状态模式(State Pattern)

 ???? 核心状态模式让你能在一个对象的内部状态变化时改变其行为,使其看上去就像改变了自身所属的类一样。一个行为使其从一种状态转移到另一种状态,这和「有限状态自动机」极其相似。 ???? 问题场景你正在给一个 音乐播放器(MusicPlayer) 的按键编写逻辑。这个 音乐播放器 看样子很简单,它只有四个按键(锁定键(lock) 、播放键(play) 、上一首键(prev) 、下一首键(next)),以及三种状态(锁定状态(locked) 、就绪状态(ready) 、播放

2021-08-18 09:28:41 150

原创 【设计模式】观察者模式(Observer Pattern)

 ???? 核心观察者模式即发布-订阅模式。发布者的状态发生改变,所有订阅者都将得到通知。 ???? 问题场景小镇里开了一家苹果专卖店,你是这家店的店主。一方面,小镇里的许多顾客都对苹果的电子产品十分感兴趣,他们每天都会来店里,瞧瞧有没有新发布的产品到货。当然,他们总是空手而归。另一方面,每次有新发布的产品到货,你都会发邮件给小镇里所有的居民。但有的居民对苹果的电子产品丝毫不感兴趣,收到邮件后直接将其视为垃圾邮件,丢进邮件垃圾箱。你似乎遇到了一个矛盾:要么让顾客浪费时间

2021-08-17 14:01:18 190

原创 【设计模式】备忘录模式(Memento Pattern)

 ???? 核心备忘录模式会捕获一个对象的内部状态,并在该对象之外保存这个状态,从而可以在以后将对象恢复到原先保存的状态。 ???? 问题场景你是一名二十年前的海报设计师。最近,一款强大的图形编辑软件(PS)诞生了,你成为了第一批PS试用者。这个新生的强大工具令你感到惊艳,然而,你发现了一个致命的问题——当你错误执行了一个操作后,只能再次执行一个操作甚至多个操作才能将它的产生的效果抵消掉。“如果我能撤销这个操作,或者说回退到之前的历史版本就好了”。你自言自语道。无论是撤

2021-08-17 14:00:45 249

原创 【设计模式】中介者模式(Mediator Pattern)

 ???? 核心减少对象之间混乱的通信,由中介者对它们进行统一的协调。 ???? 问题场景你是一名机场管理员,最近的安全问题令你时刻提心吊胆。事情是这样的。由于最近的天气原因,附近的许多机场已经关停,导致你所管理的机场需要降落的飞机数量急剧上升。这造成了严重的问题——飞行员需要留意机场附近的所有飞机,甚至需要与数十位飞行员共同讨论降落顺序。即使飞行员们尽全力进行通信,你已经数次看见两架甚至三架飞机擦肩而过的场景。不能再这样下去了,必须赶快想一个办法! ????

2021-08-17 14:00:19 188

原创 【设计模式】迭代器模式(Iterator Pattern)

 ???? 核心把遍历元素的任务交给迭代器即可。既让客户端感到方便,又能隐藏集合的底层实现。 ???? 问题场景你计划在罗马游览数天,参观完所有的旅游景点。但当你兴致勃勃的来到罗马,却发现自己一直在兜圈子——这是你第三次在罗马斗兽场抚摸渗透着血腥气味的墙壁,第四次在君士坦丁凯旋门前欣赏这古老帝国的残迹,第五次将手伸进真理之口祭奠与曾经深爱之人的回忆,第六次在萨图尔诺农神庙的残破基座下企图发现黄金的秘密…你在偌大的罗马城中迷路了。 ???? 解决方案还好,你

2021-08-17 13:59:53 140

原创 【设计模式】命令模式(Command Pattern)

 ???? 核心命令模式即发送者-命令-接收者的结构。这替代了发送者对接收者的直接调用。 ???? 问题场景在市中心逛了很久的街后,你找到了一家不错的餐厅。这家餐厅不仅装修简约朴素,在对员工的雇佣上也是极为精简——这里连个服务员都没有,只有厨师一个人在厨房里闷头做菜。美味的食物才是餐厅的灵魂,你这么安慰着自己。你瞧了瞧墙上贴着的菜单,嗯嗯,油焖茄子看样子非常美味。于是你亲自来到厨房,告诉厨师你要点一份油焖茄子。回到座位后,你觉得想再来点肉类,于是你又亲自来到了厨房,告诉

2021-08-17 13:59:19 189

原创 【设计模式】责任链模式(Chain Pattern)

 ???? 核心责任链上的每个处理者都拥有下一个处理者的引用。请求被放到责任链上,如果当前处理者无法处理该请求,那么它会把请求传送给下一个处理者,以此类推。 ???? 问题场景一家大型商场发生了火灾。幸运的是,火灾发生在深夜,所以没有人受伤;但货架上可怜的商品就没这么幸运了,它们都被烧毁,损失达到了一亿美元。市民们上街游行,谴责政府对商场的安全问题监督不善。办公室里的官员们焦头烂额,不知道该如何处理这件事情… ???? 解决方案好在,政府有一个完整的上报制

2021-08-17 13:58:36 200

原创 【设计模式】代理模式(Proxy Pattern)

 ???? 核心为原对象提供一个代理,代理可以保护、缓存、增强、控制原对象。 ???? 问题场景你是一名 SUPER STAR。作为一名超级明星,在光鲜亮丽、万众瞩目的同时,你也有着许多烦恼。你每天要与广告商洽谈合作,要联系演出场地进行筹划,还要与粉丝们交流互动…这令你有些力不从心。SUPER STAR 的烦恼,有谁能明白呢?你心里暗暗叹息道。 ???? 解决方案聪明的你立即想到了一个好法子:找一个经纪人。经纪人帮你与赞助商接洽、帮你筛选广告商、帮你安排演

2021-08-17 13:51:25 148

原创 【设计模式】享元模式(Flyweight Pattern)

 ???? 核心享元模式通过共享多个对象所共有的相同状态,减少对象占用的内存。享元模式的本质其实是缓存。 ???? 问题场景你是一名游戏地图建模师,复杂搭建游戏地图。现在,你需要搭建一座森林。森林中有成千上万个棵 树(Tree) ,没棵树具有的属性有 位置(x, y) 、高度(h) 、颜色(color) 、材质(texture) 。你做出了成千上万棵树的对象,搭建出了一座美丽而壮观的森林。你迫不及待的把地图工程发送给你的朋友,让他体验一下这座森林。尽管地图工程在你的电脑上

2021-08-17 13:50:22 137

原创 【设计模式】外观模式(Facade Pattern)

 ???? 核心外观模式为一组繁杂的接口提供了一个简洁的高层接口。内部子系统的复杂性被隐藏,从外观看来简单易用。 ???? 问题场景你在暑假里放飞自我,空调20度,零食一大堆,熬夜看比赛。果不其然,你发烧了。你来到医院,却没想到烦心的事儿才刚刚开始。因为医院是一个「复杂的系统」,因而采用的是“分而治之”的思想,将看病的过程分成了许多个「子系统」——挂号、候诊、门诊、化验、划价、取药、缴费…顶着高烧,你在医院走廊里来回穿梭,在各个部门间反复横跳,在许多医生间不断周旋…&

2021-08-17 13:49:44 159

原创 【设计模式】装饰器模式(Decorator Pattern)

 ???? 核心装饰器模式是对现有类的一个包装,是继承的一种替代方案。装饰类中拥有一个指向现有类的成员变量。 ???? 问题场景你是一名MOBA游戏设计师。在你设计的这个MOBA游戏中,英雄升级后可以选择学习一个附加的技能。现在,有一名 英雄(Hero) ,他的名字叫 捕鲨者(SharkKiller) ,随着等级的提升他可以学习的技能有 Q 、W 、E 、R 。这时作为设计师的你犯了难——根据开闭原则,你不想改变原生 捕鲨者 的代码,所以当他学习了技能后,你需要派生出多个

2021-08-17 13:48:35 188

原创 【设计模式】组合模式(Composite Pattern)

 ???? 核心组合模式将对象组合成树状的层次结构。组合模式使得用户对简单元素和复杂容器的使用具有一致性。 ???? 问题场景你正在为一家商场开发计价程序,用来计算一名顾客所购买商品的总价。这家商场使用 袋子(Bag) 来装 商品(Product) 。一个袋子中可以装若干个商品或若干个小袋子,小袋子中又可以装若干个商品或若干个小小袋子…以此类推。商品(Product) 上会带有价格标签,而 袋子 上不会有任何信息——你只有打开这个袋子,才能知道里面装的是什么。此时你会如

2021-08-17 13:47:43 388

原创 【设计模式】桥接模式(Bridge Pattern)

 ???? 核心桥接模式把复杂类解耦为两个独立的维度,使得二者可以独立变化。 ???? 问题场景你是一个粉刷匠。现在有许多 图形(Graph) 需要你去粉刷。图形多种多样:红色圆形(RedCircle) 、红色正方形(RedSquare) 、红色三角形(RedTriangle)蓝色圆形(BlueCircle) 、蓝色正方形(BlueSquare) 、蓝色三角形(BlueTriangle)绿色圆形(GreenCircle) 、绿色正方形(GreenSquare) 、绿色三

2021-08-17 13:46:38 160

原创 【设计模式】适配器模式(Adapter Pattern)

 ???? 核心适配器模式使得原本不兼容的两个类可以合作工作。适配器的本质是欺骗,它有着A类的外表,却有着B类的内容。 ???? 问题场景你是一个手机制造商。最近的科技发展迅猛,产生了一个让你头疼不已的问题。之前处于3G时代,卡很小,手机的卡槽也很小;现在进入6G时代,电话卡很大,手机的卡槽也很大。很多人会选择不断更换更先进的手机,但不愿意丢弃之前的电话卡——问题出现了,3G时代的小电话卡,怎么插入6G时代的大卡槽呢?将旧电话卡升级改造一下?你不想重构旧电话卡的代码。给

2021-08-17 13:45:06 255

原创 【设计模式】单例模式(Singleton Pattern)

 ???? 核心单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。饿汉很饿,在类加载时就实例化;懒汉很懒,第一次调用时才初始化。 ???? 问题场景假如你是上帝,你的手边有一个 Sun(太阳) 类的图纸。这时你突然犯了难?天空中同时放几个太阳呢 —— 一个是不是太少?九个是不是太多?每天升起的必须是一个太阳吗 —— 日复一日用这一个太阳?还是每天升起一个全新的太阳呢? ???? 解决方案显然,太阳的只有一个。这就是一个典型的单例模式 —— 无

2021-08-17 13:43:42 173

原创 【设计模式】原型模式(Prototype Pattern)

 ???? 核心直接复制已有对象,而不依赖它们所属的类。对象本身自己复制自己。 ???? 问题场景有一天你在森林中散步时,突然发现不远处泛着蓝光。你凑近过去,发现这个是一架刚刚坠落的UFO。UFO上已经没有了外星人,看来是已经逃生走了;这架UFO除了刮蹭,也没有任何的损坏——这令你欣喜若狂。如果你可以「复制」出一架UFO,你将成为本世纪最天才的发明家!你搜遍了整个驾驶舱,终于发现了一张UFO构造图纸。通过这张图纸,你知道了这是一个 UFO 类,以及它的组成部件(成员变量)

2021-08-17 13:41:01 128

原创 【设计模式】建造器模式(Builder Pattern)

 ???? 核心通过建造器,使用多个简单的对象一步一步构造出一个复杂的对象。 ???? 问题场景你现在从一名程序开发者转行为了一名房屋建筑师。你的任务就是建房子。你很快建好了一个 房子(House) 。这个房子普普通通,压根不是什么难事儿。很快,你收到了越来越多的订单,房子好像愈加复杂了起来:一个 带花园的房子(HouseWithGarden) …一个 带车库的房子(HouseWithGarage) …一个 带泳池的房子(HouseWithSwimmingPool) …

2021-08-17 13:40:10 343

原创 【设计模式】抽象工厂模式(Abstract Factory Pattern)

 ???? 核心一个工厂能够根据需要产生不同的产品。如果是根据参数生产产品,则称为简单工厂模式;定义一个创建对象的工厂接口,其子类自己已经决定好了生产哪一种产品,则称为工厂模式;这个子类工厂能生产一套产品。则称为抽象工厂模式。 ???? 问题场景你现在正在为一个电脑设备商店开发系统。最初的需求是,工厂可以根据订单生产不同品牌的 电脑 。你三下五除二,写出了一个 电脑设备工厂 ,这个工厂可以根据传入的参数生产出不同品牌的电脑,联想啊,苹果啊…你想了想,一个工厂能生产两种品牌

2021-08-17 13:38:51 244

原创 【设计模式】工厂模式(Factory Pattern)

 ???? 核心一个工厂能够根据需要产生不同的产品。如果是根据参数生产产品,则称为简单工厂模式;定义一个创建对象的工厂接口,其子类自己已经决定好了生产哪一种产品,则称为工厂模式;这个子类工厂能生产一套产品。则称为抽象工厂模式。 ???? 问题场景还记得吗,在上一篇文章里,你开放了一款物流管理系统。由于这款应用极其受欢迎,陆地运输公司、海路运输公司、航空运输公司都想要与你合作。于是,你创建了一个运输工厂,工厂根据不同的订单,生产并开始一个个 卡车运输 、 轮船运输 、飞机

2021-08-17 13:37:25 220

原创 【设计模式】简单工厂模式(Simple Factory Pattern)

 ???? 核心定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类。就像一个工厂能够根据需要产生不同的产品。 ???? 问题场景你开发了一款物流管理系统。最初的版本是为卡车运输设计的,所以大部分代码都是针对名为卡车的类写的。一段时间后,这款应用非常受欢迎,许多海运公司也向你抛出橄榄枝。这是个好消息。可是…大部分代码都是针对卡车类写的,这时又需要新加入一个轮船类…这时,你又接到了多家航空公司的电话… ???? 解决方案工厂方法的一个显著特征是,创建

2021-08-17 13:36:17 189

原创 【Java+设计模式】通过反射机制/序列化机制破解单例模式,及其解决方法

单例模式关于单例模式,可以戳这篇文章:《【设计模式】单例模式(Singleton Pattern)》下面这是一个经典的懒汉式单例模式实现。public class Singleton { // 1.在类中添加一个私有静态成员变量用于保存唯一实例 private static Singleton instance; // 2.将默认构造方法设置为私有,这样它就不能被new了 private Singleton() { } // 3.写一个公有静态成员方法,暴露给外部用于获取唯

2021-08-12 13:06:19 164

原创 【剑指offer】把字符串转换成整数

????题目写一个函数 StrToInt,实现把字符串转换成整数这个功能。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。说明1:假如该字符串中的第一个非空格字符不是一个有效整数字符

2021-08-09 20:20:46 88

原创 【剑指offer】圆圈中最后剩下的数字+构建乘积数组

????题目0,1,···,n-1 这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。输入:n = 10, m = 3输出:3☘️解析这个经典的问题叫做【约瑟夫环】。弗拉维奥·约瑟夫是1世纪的一名犹太历史学家。他在自己的日记中写道,他和他的40个战友被罗马军队包围在洞中。他们讨论是自杀还是被俘,最终决定自杀,并以抽签的方式决定谁杀掉谁。约瑟夫斯和另外一个人是最后两个留下的人。约瑟夫斯说服了那个人,他们将向罗马军队

2021-08-09 20:09:48 92

【编译原理实验】Java实现完整自顶向下语法分析——First、Follow、Select、判断LL(1)、提取公因子、消除左递归、自顶向下分析输入串

编译原理Java实现完整自顶向下语法分析——First、Follow、Select、判断LL(1)、提取公因子、消除左递归、自顶向下分析输入串

2020-11-04

【编译原理实验】NFA确定化与DFA最小化

本资源为一个src文件夹,有四个package: 1. Beans:NFA的DFA类 2.Utils:用于输入和输出的工具类 3.Service:核心代码。提供了确定化和最小化的代码实现 4.Test:可直接运行、测试(并且提供测试样例)

2020-10-12

空空如也

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

TA关注的人

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