贪心 有果
什么是贪心?本质:每一阶段局部取优,从而达到全局最优 极端:可能在处理贪心问题时不会考虑到使用贪心 且贪心并无套路 贪心算法更考验的思考过程的递进性,逻辑链 更倾向于实际生活出现的问题 lc分发饼干思路:先对数组进行排序,从最大处返回,双指针处理即可 123456789101112131415161718class Solution { public int findContentChildren(int[] g, int[] s) { // 思路:先对数组进行排序,从最大处返回,双指针处理即可 Arrays.sort(g); Arrays.sort(s); int result = 0; int gr = g.length - 1; int sr = s.length - 1; while(gr >= 0){ if(sr >= 0 && s[sr] >= g[gr]){ ...
回溯?
什么是回溯 一种搜索的方式 递归的副产品,只要有递归就会有回溯 并非高效算法:本质为穷举 如果使得回溯高效一些呢?可以使用剪枝的策略去处理,但是本质还是穷举,剪枝只是减少了不必要的穷举方向。 处理问题(只能思考使用暴力解法的问题): 组合问题:N个数里面按一定规则找出k个数的集合 切割问题:一个字符串按一定规则有几种切割方式 子集问题:一个N个数的集合里有多少符合条件的子集 排列问题:N个数按一定规则全排列,有几种排列方式 棋盘问题:N皇后,解数独等等 回溯法解决的问题都可以抽象为树形结构 同样是三部曲,流程思考 回溯遍历过程大致流程:123456789101112void backtracking(参数) { if (终止条件) { 存放结果; return; } for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) { 处理节点; backtracking(路径,选择列表); // 递归 回溯,撤销处理结果 // 递归之后进行回溯 ...
无题
谐音联想法 可以足够离谱 考虑 A — C — B看到 A 联想 C 去联系 B pest(A) 害虫(B)拍死他 谐音CA—>C—>B 联想 abolish 废除划分1:a | boli | sh 联想黑人奴隶制被废除并非是所有都可以完全音节对应且C并非一定要应用到所有字节,只需要对于记忆有启发即可划分2:a | bo | lish 联想警察废除通缉令只要联想实现找到 C 即可 意义联想记忆法
vue + ElementUI
ts动态语言只有在运行过程中才会知道出错在哪里,报错是不可预测的,所以出现了这样的一个语言 这种语言会给动态类型参数添加一个指定类型,方便其调用方法,但是这种语言不能直接运行需要先编译成js才能运行 对类型的支持类型声明添加位置:三处可加 不过大部分可省略 定义复杂类型: interface以及type 不过编译检查只发生在编译阶段,在编译之后会消失鸭子类型,如果和目标比较像,也可以被编译使用 Vue3食用对象:后端,关于vue术语组件化构建等不作涉及技术选型 基础开发服务器配置切换端口以及使其它局域网中可以使用该端口进行访问,添加host属性: 跨越配置:后端配置修改请求头前端是直接配置即可: 含义是url中添加api,走的路径切换为后端服务器选项 项目结构: 小案例三个组成部分script代表着控制层,控制模板中的数据源以及方法行为,函数 同样是来自上面控制头 这里的click点击绑定了对应事件:(事件对标一个函数) 但是现在点击之后数据成功打印,但是为什么msg中没有发生改变呢?这里需要引入响应式包装此变量如何引入?导入vue中的包装类ref修改值需要.value 这里是拆 ...
斗地主小游戏
斗地主小游戏面对一个问题,需要先摸清楚设计流程,流程清晰之后才可以着手开发 准备牌 洗牌 发牌 按照流程来写:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263import java.util.ArrayList;import java.util.Collections;public class PokerHandle { // 静态代码块中使用list也需要static static ArrayList<String> list = new ArrayList<>(); // 准备牌 static{ String[] color = {"♠","♥","♣","♦"}; String[] number = ...
个人Ip
f0570db6cb69935fb77e4e6d5d49dfd14a6d7cf46fe03d65959afc878016a91bd57a68caa80a7d9498371df337a6a8575979bd2dc7f5bbca24e8c94d246e3b526fd48e789139557c5e0b2952d2d1ce499a72f9d9894c01697c10e2b47e31abb2857a3880930814eecea59ab6ec1c8ead1b11ab04b04a84e14db3110df013209e92720f10cc6028e1cfdb8d99e237dde97fbca3a88bdbf6e6d5f60ada04efebd27933908e88abc6d003f24f1686a89a362c809f1828f6b3f385a7fb82b2d6498bdc13674d83b453eaec92a3c0372a26c5803375d674c239a9cc4c60c51ab5709e327e2ab6cb2d43baa4f86ed287018b4b0e3b2817460460a84 ...
数据结构题型复习
数据结构按类复习为此间目录 模式匹配 画二义树(根据中序和后序,前序和中序)以及其线索二义树 求叶子结点个数,建立二叉排序树 广义表 求存储地址 代码设计 哈夫曼树 最小生成树 深度遍历,广度遍历,邻接表建立 哈希表(线性探测法、拉链法) 排序 接下来我们按顺序讲 模式匹配对于模式匹配,实际的它的前身是一个叫做前缀表的东西什么是前缀表?一个文本串,一个模式串模式串的作用是在文本串进行匹配,而我们的前缀表以及next数组就是在这个模式串上做文章栗子:一个模式串是:abcdaaf此时这个的前缀表是什么?分别是 0 0 0 0 1 1 0这个数值就是为了跳到模式串本身的什么位置开始继续对文本串进行匹配注意: 这里下标是从0开始 那么前缀表说完了,next数组又是什么呢?next就是在前缀表的基础上进行了统一操作,比如统一减一,又或者是右移(同时将首位设置为-1)p.s. 在严蔚敏老师的书中,逻辑都是右移的操作同时提到了nextval数组,这是什么呢?nextval的值的逻辑: 可以确定nextval的第一位与next数组第一位相同 看自身的next值,以next值为下标在这个模式串中寻 ...
跳表算法
目的:对链表实现二分查找 核心理论:使用空间换时间的方式 给链表添加索引,保证索引之间是只存在一个数字 索引是有层级的,上一层对下一层来说一般是 1/2 的比例 ,每次插入一个数据都需要重新进行索引分布常用的一种方式是:使用01判断,类似抛硬币的方式进行同样为1/2的概率事件对其进行重新分布
作文record
学习目的:积累日常生活中的英文表达,学习介绍日常生活,以达到将作文中出现的场景以万金油的方式被融入日常和日常联系起来,然后直接把话题往日常上面引,用日常的某方面来描述应用类: 词汇以及涉及的方面类型:传统文化可能出现的主题概念 建筑 architecture/construction/building 饮食 food/snack/cuisine 语言 language/calligraphy/poems 艺术 arts/craftwork/music/paintings/costume 节日 holiday/festival/celebration/customs 短语积累:get a taste of == experience 感受到ex. About my first experience of mountain climbing. About my first got a taste of mountain climbing.perfectly combined 完美结合 写作中的核心:动词短语、名词短语历史文化,传统文化必须: introduce its time-ho ...
Butterfly常用外挂标签语法
Butterfly常用外挂标签语法这里是纯自用,方便自己写的时候查看这些语法,都是常用的,但是不完全 行内文本样式 text标签语法示例源码渲染实例123456{% u 文本内容 %}{% emp 文本内容 %}{% wavy 文本内容 %}{% del 文本内容 %}{% kbd 文本内容 %}{% psw 文本内容 %}1234561. 带{% u 下划线 %}的文本2. 带{% emp 着重点 %}的文本3. 带{% wavy 波浪线 %}的文本内容4. 带 {% del 删除线 %} 的文本5. 键盘样式的文本 {% kbd command %} + {% kbd D %}6. 密码样式的文本:{% psw 这里没有验证码 %} 带下划线的文本 带着重点的文本 带波浪线的文本内容 带 删除线 的文本 键盘样式的文本 com ...