- 博客(31)
- 收藏
- 关注
原创 言语理解——片段阅读
分总结构,中心句里转折后是重点转折后语句若晦涩难懂,将转折前语句的语义翻转挖坑:事实上转折词出现在例子当中,不能说事实上后是重点所以说行文脉络和重点词两手抓。
2022-08-18 17:06:36 1026
原创 判断推理——逻辑判断
目录翻译推理总结一、翻译规则之“前推后”(典型关联词:如果那么、若则、只要就、所有都、为了一定(必须))二、(***)翻译规则之“逆否等价”(肯前必肯后,否后必否前,否前肯后不确定)三、翻译规则之“后推前”(典型关联词:只有才、不不、除非否则不、是的基础/假设/前提/关键、是的必要条件/必不可少的条件)(关联词变形:除非A否则B=除非A否则不不B,除非交房租否则搬出去)(谁是必要条件放在箭头后面、谁是充分条件放在箭头前面)四、翻译规则之“且”和“或”五、翻译规则之“否一推一”(A或B为真,-A->B)六、翻
2022-07-04 17:23:22 5283
原创 判断推理——定义判断
目录概述解题步骤:1.看提问2.看题干3.看选项第一节 读的准方法一:关键词——主体、客体方法二:句式引导词——引导的内容重点看(找准关键词,圈数字匹配) 第二节 读的快方法一:句号与补充说明1.优先看定义所在的句子2.当定义所在的句子不好理解时,可重点关注后面的补充说明方法二:多定义1.问啥看啥:问哪个定义优先看哪个定义2.比较定义:纠结两个选项时,再与其他定义做对比方法三:小技巧——拆词每道题先给出一个概念的定义,然后分别列出四种情况,要求报考者严格依据定义选出一个最符合或最不符合该定义的答案.....
2022-06-26 16:17:44 762
原创 判断推理——类比推理
目录概述语义关系考点一:近义关系、反义关系考点二:比喻义、象征义逻辑关系(最重要、10道里会考78道)考点一:全同关系考点二:并列关系考点三:包容关系(组成和种属)考点四:交叉关系考点五:对应关系高频对应关系一:原材料高频对应关系二:功能高频对应关系三:属性(必然属性和或然属性)高频对应关系四:时间顺序(出现2-3个动作行为,优先看动作的先后顺序)高频对应关系五:因果语法关系第四节:拆词大纲:给出一组相关的词,要求通过观察分析,在备选答案中找出一组与之在逻辑关系上最为贴近或相似的词重点:考成语 积累途径:微
2022-06-23 20:56:11 2409
原创 判断推理——图形推理
目录巩固时间:每天早上通勤时做10道题,然后过一遍笔记图形推理学习的重点位置规律位置规律识别特征:元素组成相同考点一:平移考法一:方向:直线(上下、左右、斜对角线)、绕圈(顺/逆时针)考法二:步数:恒定、递增(等差)考点二:旋转与翻转考法一:旋转:(1)方向:顺时针、逆时针(2)常见角度:45、60、90、120、180考法二:.翻转:(1)左右翻转:竖轴对称(2)上下翻转:横轴对称样式规律样式规律识别特征:元素组成相似考点一:遍历(图形特征:相同元素重复出现)考点二:加减同异(图形特征:相同线条重复出现)
2022-06-19 22:53:32 3548
原创 9. Pattern: Two Heaps,双堆类型
很多问题中,我们被告知,我们拿到一大把可以分成两队的数字。为了解决这个问题,我们感兴趣的是,怎么把数字分成两半?使得:小的数字都放在一起,大的放在另外一半。双堆模式就能高效解决此类问题。正如名字所示,该模式用到了两个堆,是不是很难猜?一个最小堆用来找最小元素;一个最大堆,拿到最大元素。这种模式将一半的元素放在最大堆中,这样你可以从这一堆中秒找到最大元素。同理,把剩下一半丢到最小堆中,O(1)时间找到他们中的最小元素。通过这样的方式,这一大堆元素的中位数就可以从两个堆的堆顶拿到数字,从而计算出来。判断
2021-04-27 21:06:48 306
原创 8. Pattern: Tree Depth First Search,树上的DFS
树形DFS基于深搜(Depth First Search (DFS))技术来实现树的遍历。咱们可以用递归(或是显示栈,如果你想用迭代方式的话)来记录遍历过程中访问过的父节点。该模式的运行方式是从根节点开始,如果该节点不是叶子节点,我们需要干三件事:需要区别我们是先处理根节点(pre-order,前序),处理孩子节点之间处理根节点(in-order,中序),还是处理完所有孩子再处理根节点(post-order,后序)。 递归处理当前节点的左右孩子。识别树形DFS:你需要按前中后序的DFS方
2021-04-27 15:03:05 139
原创 7. Pattern: Tree Breadth First Search,树上的BFS
这种模式基于宽搜(Breadth First Search (BFS)),适用于需要遍历一颗树。借助于队列数据结构,从而能保证树的节点按照他们的层数打印出来。打印完当前层所有元素,才能执行到下一层。所有这种需要遍历树且需要一层一层遍历的问题,都能用这种模式高效解决。这种树上的BFS模式是通过把根节点加到队列中,然后不断遍历直到队列为空。每一次循环中,我们都会把队头结点拿出来(remove),然后对其进行必要的操作。在删除每个节点的同时,其孩子节点,都会被加到队列中。识别树上的BFS模式:如果你被
2021-04-23 10:30:23 263
原创 6. Pattern: In-place Reversal of a LinkedList,链表翻转
在众多问题中,题目可能需要你去翻转链表中某一段的节点。通常,要求都是你得原地翻转,就是重复使用这些已经建好的节点,而不使用额外的空间。这个时候,原地翻转模式就要发挥威力了。这种模式每次就翻转一个节点。一般需要用到多个变量,一个变量指向头结点(下图中的current),另外一个(previous)则指向咱们刚刚处理完的那个节点。在这种固定步长的方式下,你需要先将当前节点(current)指向前一个节点(previous),再移动到下一个。同时,你需要将previous总是更新到你刚刚新鲜处理完的节点...
2021-03-29 16:07:46 213
原创 5. Pattern: Cyclic Sort,循环排序
这种模式讲述的是一直很好玩的方法:可以用来处理数组中的数值限定在一定的区间的问题。这种模式一个个遍历数组中的元素,如果当前这个数它不在其应该在的位置的话,咱们就把它和它应该在的那个位置上的数交换一下。你可以尝试将该数放到其正确的位置上,但这复杂度就会是O(n^2)。这样的话,可能就不是最优解了。因此循环排序的优势就体现出来了。y该图的含义是第一步将下标为0的2拿出来,扫描数组发现有1个数字比它小,于是应该把他放在下标为1的地方,所以与元素6交换位置第二步将下标为1的2拿出来,发现在正确位置第
2021-03-29 15:46:46 214
原创 排序算法总结
选择排序首先,找到数组中最小的元素,将其与数组的第一个元素交换位置。然后再在剩余的元素中找最小的元素,与数组的第二个元素交换位置。如此往复,直到整个数组排序。public class Selection { public static void sort(int[] nums){ for(int i=0;i<nums.length;i++){ int min=i; for(int j=i;j<nums.leng
2021-03-18 08:32:43 249 2
原创 Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ property manually.
时区错误打开cmd,连接数据库mysql -hlocalhost -uroot -p输入show variables like'%time_zone'; 显示时区输入set global time_zone = '+8:00'; 修改时区
2020-08-24 17:52:24 152
原创 4. Pattern: Merge Intervals,区间合并类型
区间合并模式是一个用来处理有区间重叠的很高效的技术。在设计到区间的很多问题中,通常咱们需要要么判断是否有重叠,要么合并区间,如果他们重叠的话。这个模式是这么起作用的:假设第一个区间的起始位置小于第二个区间的起始位置,有6种不同的情况理解和识别这六种情况,非常重要。因为这能帮你解决一大堆问题。这些问题从插入区间到优化区间合并都有。判断合并区间模式当你需要产生一堆相互之间没有交集的区间的时候 当你听到重叠区间的时候力扣经典题56. 合并区间Merge Intervals (mediu
2020-08-11 16:07:41 146
原创 3. Pattern: Fast & Slow pointers, 快慢指针类型
目录力扣经典题141. 环形链表LinkedList Cycle (easy)142. 环形链表 IIStart of LinkedList Cycle(medium)202. 快乐数Happy Number (medium)876. 链表的中间结点Middle of the LinkedList (easy)这种模式,有一个非常出名的名字,叫龟兔赛跑。咱们肯定都知道龟兔赛跑啦。但还是再解释一下快慢指针:这种算法的两个指针的在数组上(或是链表上,序列上)的移动速度不一样。还别说,这种
2020-08-06 10:36:26 336
原创 2. Pattern: two points, 双指针类型
双指针是这样的模式:两个指针朝着左右方向移动(双指针分为同向双指针和异向双指针),直到他们有一个或是两个都满足某种条件。双指针通常用在排好序的数组或是链表中寻找对子。比如,你需要去比较数组中每个元素和其他元素的关系时,你就需要用到双指针了。我们需要双指针的原因是:如果你只用一个指针的话,你得来回跑才能在数组中找到你需要的答案。这一个指针来来回回的过程就很耗时和浪费空间了+—+这是考虑算法的复杂度分析的时候的重要概念。虽然brute+force一个指针的解法可能会奏效,但时间复杂度一般会是O(n²)。在很
2020-08-05 15:55:13 465
原创 1. Pattern: Sliding window,滑动窗口类型
目录力扣经典题325. 和等于 k 的最长子数组长度Maximum Sum Subarray of Size K (easy)Smallest Subarray with a given sum (easy)340. 至多包含 K 个不同字符的最长子串Longest Substring with K Distinct Characters (medium)904. 水果成篮Fruits into Baskets (medium)1100. 长度为 K 的无重复字符子串No-repea
2020-08-01 10:41:26 434
原创 回溯算法
目录基本概念力扣题基本概念回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。力扣题...
2020-06-16 09:25:33 145
原创 数组
目录基本概念基本操作力扣题基本概念数组是用于储存多个相同类型数据的集合。基本操作int[] array=new int[len];//创建长度为len的一维数组Arrays.sort()//排序Arrays.copyof(array,x)//复制array数组的array[0]到array[x]力扣题56. 合并区间给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[.
2020-06-13 18:53:34 132
原创 树
目录基本概念特点基本操作java实现树基本概念树是一种抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由 n(n>0)n(n>0) 个有限节点组成一个具有层次关系的集合。把它叫做「树」是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 特点每个节点都只有有限个子节点或无子节点; 没有父节点的节点称为根节点; 每一个非根节点有且只有一个父节点; 除了根节...
2020-06-07 08:48:01 100
原创 git笔记
版本管理工具速度简单的设计对非线性开发模式的强力支持(允许上千个并行开发的分支)完全分布式有能力高效管理类似linux内核一样的超大规模项目(速度和数据量)Git是分布式版本控制系统,它没有中央服务器,每个人的电脑就是一个完整的版本库。...
2020-06-06 18:35:11 168
原创 栈(十个常用数据结构之一)
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。20. 有效的括号给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号...
2020-06-06 14:10:50 328
原创 二分搜索算法
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。二分搜索的核心是每次搜索“丢弃”一半的数据模式识别:有序或者部分有序,基本使用二分搜索及其变种33. 搜索旋转排序数组假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值...
2020-06-05 20:36:13 631 1
原创 双指针算法
双指针是一种思想,一种技巧或一种方法,并不是什么特别具体的算法,在二分查找等算法中经常用到这个技巧。具体就是用两个变量动态存储两个或多个结点,来方便我们进行一些操作。通常用在线性的数据结构中,比如链表和数组,有时候也会用在图算法中。在我们遇到像数组,链表这类数据结构的算法题目的时候,应该要想得到双指针的套路来解决问题。11. 盛最多水的容器给你n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别...
2020-06-05 15:40:23 178
原创 递归算法
递归算法(英语:recursion algorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。计算理论可以证明递归的作用可以完全取代循环,因此在很多函数编程语言(如Scheme)中习惯用递归来实现循环。在递推阶段,必须要有终止递归的情况。206. 反转链表反转一个单链表。示例:...
2020-06-03 19:28:53 315
原创 动态规划法
动态规划法利用问题的最优性原理,以自底向上的方式从子问题的最优解逐步构造出整个问题的最优解。动态规划法设计算法一般分成三个阶段:(1)分段:将原问题分解为若干个相互重叠的子问题;(2)分析:分析问题是否满足最优性原理,找出动态规划函数的递推式;(3)求解:利用递推式自底向上计算,实现动态规划过程。 5. 最长回文子串给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为 1000。示例 1:输入: "b...
2020-06-03 18:55:57 347
原创 哈希表
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。哈希表原理哈希表的关键思想是使用哈希函数将键映射到存储桶。更确切地说,..
2020-06-01 10:20:49 118
原创 队列(10个常用数据结构之一)
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。...
2020-05-31 21:20:54 367
原创 链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。2. 两数相加给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来...
2020-05-31 10:20:15 260
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人