CSD三层架构 当存在多个同类型类时,@Autowired无法自动注入依赖,可以在需要的类上加@Primary注解,或者在需要注入依赖处加@Qualifier(“className”),或者用@Resource代替@Autowired,@Resource(name=“className”)根据类名来选择注入的依赖。@Autowired:为Controller和Service注入运行时依赖的对象。@Component:将Service和Dao层的实现类交给IOC容器。:衡量软件中各个层/模块之间的依赖、关联程度。
滑动窗口最大值 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。push时,如果push的元素value大于入口元素的数值,那么就将队列入口的元素弹出,直到push元素的数值小于等于队列入口元素的数值为止。pop时,如果窗口移除的元素value等于单调队列的出口元素,那么队列弹出元素,否则不用任何操作。利用单调队列维护窗口里的值,只需要维护可能成为最大值的值,因此只需要保持队列单调递减。返回滑动窗口中的最大值。
逆波兰表达式(后缀表达式) 整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。有效的运算符包括 + , - , * , /。每个运算对象可以是整数,也可以是另一个逆波兰表达式。利用栈来解决,当检索到运算符时弹出栈顶两个元素进行运算,将结果入栈。根据 逆波兰表示法,求表达式的值。时间复杂度、空间复杂度:O(n)
删除字符串中所有相邻重复项 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。利用栈存放之前遍历过的元素,若当前元素和栈顶元素一致则删除。最后弹出栈中元素并进行倒序。在完成所有重复项删除操作后返回最终的字符串。在 S 上反复执行重复项删除操作,直到无法继续删除。时间复杂度、空间复杂度均为O(n)
有效的括号 如果遍历完字符串栈不为空,说明有多余的左括号;如果遍历过程中栈已经为空,说明多余的右括号;遍历过程中发现字符不匹配。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串,判断字符串是否有效。每遇到一个左括号则把对应右括号压入栈中,遇到右括号时检查栈顶和该右括号是否一致。左括号必须用相同类型的右括号闭合。注意空字符串可被认为是有效字符串。时间复杂度、空间复杂度:O(n)左括号必须以正确的顺序闭合。
用队列实现栈 创建两个队列que1 que2,输出时把que1最后元素以外的元素备份到que2,弹出最后的元素后,再从que2导回que1。push(x) – 元素 x 入栈。empty() – 返回栈是否为空。pop() – 移除栈顶元素。top() – 获取栈顶元素。
用栈实现队列 push时将数据放进输入栈,pop时如果输出栈为空,就把进栈数据全部导入,再从输出栈弹出。push(x) – 将一个元素放入队列的尾部。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。pop() – 从队列首部移除元素。需要两个栈,一个输入栈一个输出栈。如果输出栈不为空直接从输出栈弹出。
Ajax快速入门 Ajax:异步的JavaScript和XML作用:给服务器发送请求,并获取服务器响应的数据;可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。:服务器处理请求时,客户端可以继续执行其他操作。
Vue快速入门 v-model:将数据模型的数据绑定到视图层表单元素,双向数据绑定,即视图层数据变化也会影响视图模型。v-show:根据条件展示元素,区别是都会渲染,切换的是CSS中display的值。v-bind:为HTML标签绑定属性值.v-bind可以省略。v-if/v-else-if/v-else:条件性渲染某元素。每触发一个生命周期事件,就会自动执行一个生命周期方法(钩子)v-on:为HTML标签绑定事件,可以简化为@定义vue的生命周期方法与method平级。v-for:列表渲染。
前端基础知识 Web标准:由W3C(万维网联盟)制定HTML: 超文本标记语言,负责网页结构(页面元素和内容)CSS:层叠样式表,负责网页的表现(页面元素的外观,位置等)JavaScript:负责网页的行为(交互效果)
Unity入门4——常用接口 DateTime.Now:拿到系统当前时间DtaTime.TimeOfDay:获取此实例当天的时间Quaternion:用来旋转,采用四元数,由w(实部)和x,y,z(虚部)组成。四元数的实部通常与旋转的角度有关。在单位四元数中,实部(w)可以表示为cos(θ/2),其中θ是旋转角度。虚部(x, y, z)可以表示为旋转轴单位向量u与sin(θ/2)的乘积,即(x, y, z) = u * sin(θ/2)。虚部对于确定旋转的方向或“轴”是关键的。Quaternion.Euler:返回一个旋