认知觉醒
内观自己
大多数时候我们以为自己在思考,其实都是在对自身的行为和欲望进行合理化
习惯之所以难以改变,就是因为它是自我巩固的——越用越强,越强越用。要想从既有的习惯中跳出来,最好的方法不是依靠自制力,而是依靠知识
理智脑不是直接干活的,干活是本能脑和情绪脑的事情,因为它们的“力气”大;上天赋予理智脑智慧,是让它驱动本能和情绪。
就好比是依靠兴趣去干一件没有利益的事情,这是情绪脑占主导
无论个体还是群体,人类的安全感都源于自己在某一方面拥有的独特优势:或能力,或财富,或权力,或影响力。
焦虑的原因就两条:想同时做很多事,又想立即看到效果。
社会中的精英通常是那些能更好地克服天性的人,他们的耐心水平更高,延迟满足的能力更强。
要想让自己高效成长,必须让自己始终处于舒适区的边缘,贸然跨到困难区会让自己受挫,而始终停留在舒适区会让自己停滞
即对于学习而言,学习之后的思考、思考之后的行动、行动之后的改变更重要,如果不盯住内层的改变量,那么在表层投入再多的学习量也会事倍功半;因此,从权重上看,改变量>行动量>思考量>学习量。
所谓“熔断不读书法”,意思就是在读书时一旦看到有启 ...
设计模式
前言这是给自己看的
本章可以下载word文档进行打印: https://www.aliyundrive.com/s/hVijAWNNL1W
感谢gjx,yfm,hyt等同学的贡献
原则设计模式的七大原则开闭原则
开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。
关键点:无法修改自身,但是可以进行拓展。例子:继承
里氏代换原则
里氏代换原则是面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。LSP 是继承复用的基石,只有当派生类可以替换掉基类,且软件单位的功能不受到影响时,基类才能真正被复用,而派生类也能够在基类的基础上增加新的行为。里氏代换原则是对开闭原则的补充。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。继承重写方法,子类可以额外添加点东西
依赖倒转原则
这个原则是开闭原则 ...
算法-复习题2
考试总结致谢:感谢gjx同学的笔记😁以及jjj的txt文本,感谢yfm和tyq同学的纠错,还找了好几个错误🤣
纠错小分队:
yfm 找出3个错误并且还提供了一个手绘图
tyq😘 1个错误
xy 1个错误
看前须知:看每一个题前,需要看红字说明,介绍这个题是考还是不考
点我!我是在线编译网站
如何代码需要输入时,需要在网站这个位置,填上相应数字。
非空子集最好把代码背一下谢谢美丽的syw🤣,写那么多,真是辛苦啦
#include<iostream>using namespace std;int s[4] = {1, 2, 3, 4};int x[4];int N = 4;void SubSet(int i) { if(i >= N) { for(int j = 0; j < N; j++) if(x[j]) cout << s[j] << " "; cout< ...
算法-复习题1
算法总结什么是算法😊?算法一般还必须满足哪些重要特性?答:算法是对特定问题求解步骤的一种描述,是指令的有限序列。算法还必须满足下列5个重要特性:
输入:一个算法有零个或多个输入(即算法可以没有输入);
输出:一个算法有一个或多个输出(算法必须要有输出),通常输出与输入之间有着某种特定的关系;
有穷性:一个算法必须总是(对任何合法的输入)在执行有穷步之后结束,且每一步都在有穷时间内完成;
确定性:算法中的每一条指令必须有确切的含义,不存在二义性。并且,在任何条件下,对于相同的输入只能得到相同的输出。
可行性:算法描述的操作可以通过已经实现的基本操作执行有限次来实现。
考虑下面的算法,回答下列问题,算法完成什么功能?算法的基本语句是什么?基本语句执行了多少次?算法的时间复杂性是多少?(1)考虑下面的算法,回答下列问题,算法完成什么功能?算法的基本语句是什么?基本语句执行了多少次?算法的时间复杂性是多少?
(1)int Mistery(int n) (2)int Q(int n){ ...
面试杂项
Java后端——瑞吉外卖项目提问及回答
1、在瑞吉外卖项目中,后端API设计和开发需要考虑哪些问题?
在瑞吉外卖项目中,后端API的设计和开发需要考虑以下几个问题:
功能需求:首先需要明确外卖项目的功能需求,包括用户注册、登录、浏览菜单、下单、支付、订单管理等功能。这些需求将指导后端API的设计和实现。
数据模型设计:根据功能需求,设计合适的数据模型来存储用户信息、菜单信息、订单信息等数据。考虑到外卖项目通常需要处理大量订单,对数据模型的设计要充分考虑性能和扩展性。
API设计:确定API的端点(endpoints)和操作(operations)。每个端点对应一个特定的功能,例如获取菜单信息、创建订单等。定义清晰的API接口,并采用一致的命名和参数约定,以便于前端开发人员的使用和理解。
认证和授权:外卖项目通常需要身份认证和授权机制,以确保只有经过验证的用户可以访问敏感数据和执行特定操作。设计适当的认证和授权机制,例如使用JSON Web Token(JWT)进行用户认证,并为不同的用户角色分配不同的权限。
安全性考虑:在API设计和开发中,要考虑数据的安全性。使用加密协议( ...
设计模式
分类创建型模式注重完成对象的实例化,相比于直接实例化对象,根据实际情况选择合适的设计模式完成对象的实例化,可以为复杂的业务场景带来更高的灵活性。
工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式结构型设计模式用于指导我们完成对代码的结构划分,如此,代码结构会更加清晰,更易理解,也提高了软件的可维护性。
适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式行为型设计模式主要用于定义对象之间的通信与流程控制,主要的设计模式都非常注重优化对象之间的数据交互方式。
策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
六大原则开放封闭原则(Open Close Principle)
原则思想:尽量通过扩展软件实体来解决需求变化,而不是通过修改已有的代码来完成变化
描述:一个软件产品在生命周期内,都会发生变化,既然变化是一个既定的事实,我们就应该在设计的时候尽量适应这些变化,以提高项目的稳定性和灵活性。
优点:单一原则告诉我们,每个类都有自己负责的职责,里氏 ...
蓝桥杯-赛题
第十四届蓝桥杯C++B组冶炼金属
#include<iostream>#include<algorithm>using namespace std;const int N=1e5+10;int a[N],b[N];int n;bool check1(int mid){ for(int i=0;i<n;i++) if(a[i]/mid>b[i]) return false; return true;}bool check2(int mid){ for(int i=0;i<n;i++) if(a[i]/mid<b[i]) return false; return true;}int main(){ cin>>n; for(int i=0;i<n;i++){ scanf("%d%d",&a[i],&b[i] ...
算法-蓝桥杯
算法基础递归和递推递归递归算法在计算机系统中用栈帮助实现,一般常见的算法有深度优先遍历(DFS),可以解决的问题有迷宫问题是否连通的问题,递推会对应一个递归搜索树,递归搜索树可以帮助我们更好的理解递归的流程,递归要注意的有是否可以进行剪枝,在迷宫问题中,也要考虑是否要保存原有的迷宫。
入门例题递归实现指数型枚举从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数 n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3
题解:
对于指数型枚举一个数只有选与不选的区分,所以我们从第一个位置,枚举到第 n 个位置,在第 i 个位置上,i 这个数只有选与不选的区别,选的话我们将 st [i] 记录为 i;不选记录为-1;一直到 u > n 时枚举了所有的位置,此时输出即可,要注意的是在输出完后要记得 return 掉
#include< ...
算法-基础
y 总的算法基础模板
这里是 y 总的算法基础模板
快速排序算法模板 —— 模板题 AcWing 785. 快速排序void quick_sort(int q[], int l, int r){ if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]; while (i < j) { do i ++ ; while (q[i] < x); do j -- ; while (q[j] > x); if (i < j) swap(q[i], q[j]); } quick_sort(q, l, j), quick_sort(q, j + 1, r);}
归并排序算法模板 —— 模板题 AcWing 787. 归并排序void merge_sort(int q[], int l, int r){ if (l >= r) return; ...
算法-板子
自己的算法总结
这里是自己的算法总结
基础知识
typedef 需要定义在using下面
#define 需要定义在头文件哪里
能使用全局变量,就使用全局变量
快速幂long long fastPower(long long base, long long power) { long long result = 1; while (power > 0) { if (power & 1) {//此处等价于if(power%2==1) result = result * base % 1000; } power >>= 1;//此处等价于power=power/2 base = (base * base) % 1000; } return result;}
线性筛//p是bool数组,如果是0表示是质数//q用来存放质数void init(int n){ for (int i = ...