- 博客(17)
- 收藏
- 关注
转载 MySQL 中的 distinct 和 group by 哪个效率更高?
MySQL 中的 distinct 和 group by 哪个效率更高?
2023-03-11 17:36:30 143
转载 从建筑结构到软件体系结构
软件体系结构是构建计算机软件实践的基础,与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样。软件体系结构之所以可以独立于软件的数据结构和软件的算法,是因为业界把软件的数据结构和算法看做了烧砖的方法,或设计庭院的思想。之所以也有些人说SA可以不用,是因为算法和数据结构的扩张有代替现在的SA的可能。软件体系结构直接决定了软件系统的运行框架,其优劣不但决定了软件系统是否可以满足针对此软件的功能需求,而且还决定了这些功能需求是否能被合理、高效地实现,即也决定了软件系统基本的非功能属性。
2022-11-21 21:33:57 346
原创 试题 算法提高 网格贪吃蛇
问题描述那个曾经风靡全球的贪吃蛇游戏又回来啦!这次贪吃蛇在m行n列的网格上沿格线爬行,从左下角坐标为(0,0)的格点出发,在每个格点处只能向上或者向右爬行,爬到右上角坐标为(m-1,n-1)的格点时结束游戏。网格上指定的格点处有贪吃蛇喜欢吃的豆豆,给定网格信息,请你计算贪吃蛇最多可以吃多少个豆豆。输入格式 输入数据的第一行为两个整数m、n(用空格隔开),分别代表网格的行数和列数;第二行为一个整数k,代表网格上豆豆的个数;第三行至第k+2行是k个豆豆的横纵坐标x、y(用空格隔开)。输出格式 程序
2022-04-07 19:52:13 2998
原创 试题 算法提高 秘密行动
问题描述 小D接到一项任务,要求他爬到一座n层大厦的顶端与神秘人物会面。这座大厦有一个神奇的特点,每层的高度都不一样,同时,小D也拥有一项特殊能力,可以一次向上跳跃一层或两层,但是这项能力无法连续使用。已知向上1高度消耗的时间为1,跳跃不消耗时间。由于事态紧急,小D想知道他最少需要多少时间到达顶层。输入格式 第一行包含一个整数n,代表楼的高度。(楼层数) 接下来n行每行一个整数ai,代表i层的楼层高度(ai <= 100)。输出格式 输出1行,包含一个整数,表示所需的最短时间。样
2022-03-09 17:32:30 211 1
原创 23种设计模式——适配器模式
介绍将某个类的接口转换成期望的另一个接口表示,目的是兼容,让原本因接口不匹配不能一起工作的两个类可以协同工作主要分为:类适配器、对象适配器、接口适配器定义src类为被适配的类,dst为目标类适配器模式适配器需要继承src。dst必须是接口如生活电压电压220v,我们期望使用5v的。public class Voltage220 { public int outPut220V(){ int size = 220; System.out.printf(
2021-10-12 19:46:59 70
原创 23种设计模式——原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。即克隆最初的一个实例,包括它的属性。让需要被拷贝的类继承Cloneable重写里面clone()class Sheep implements Cloneable { String color; int age; //使用这个方法进行克隆 @Override protected Object clone() throws CloneNotSupportedException { ret.
2021-10-06 21:00:55 56
原创 23种设计模式——工厂模式
工厂模式是我们常用的实例对象的模式,通过工厂接口来创建对象。当我们想要一部手机,我们不需要自己去组装,只需要去工厂告诉我们想要的种类,工厂会帮我们进行组装的过程,我们可以直接从工厂拿到手机。简单工厂又叫做静态工厂方法模式。由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。public static class phoneFactory{ public phone
2021-10-04 19:24:10 70
原创 23种设计模式——单例模式
23种设计模式——单例模式单例模式:一个对象在整个程序只有一次创建。其有两种创建时机1.在程序一开始执行时就创建,称为饿汉式。2.在需要使用到这个对象时在创建,称为懒汉式。饿汉式静态常量class Singleton{ //私有构造器,外部不能new private Singleton(){} //实例化对象 private final static Singleton instance = new Singleton(); //提供外部获取实例的
2021-10-01 21:47:19 46
原创 2021-08-16
剑指 Offer 59 - I. 滑动窗口的最大值给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释: 滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7 3 1 [3 -1 -3] 5 3 6 7
2021-08-16 23:18:02 51
原创 2021-08-14
剑指 Offer 32 - I. 从上到下打印二叉树从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如: 给定二叉树: [3,9,20,null,null,15,7],[3,9,20,15,7]链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof思路:经典的层序遍历因为LinkedList有堆栈的特性,根节点root进入队列,然后弹出,取出value储存将roo
2021-08-14 23:14:04 59
原创 2021-08-12
剑指 Offer 07. 重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例 1:Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output:[3,9,20,null,null,15,7]示例 2:Input: preorder = [-1], inorder = [-1] Output: [-1]链接:https://leetcode-
2021-08-12 23:55:27 58
原创 2021-08-11
剑指 Offer 10- II. 青蛙跳台阶问题一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2 输出:2示例 2:输入:n = 7 输出:21示例 3:输入:n = 0 输出:1链接:https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lco
2021-08-11 22:26:01 50
原创 2021-08-10
在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3] 输出:4示例 2:输入:nums = [9,1,7,9,7,9,7] 输出:1链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-ii-lcof思路:这里想到了之前看到的一种方法2个相同二进制数,做不进位加法,结果为03个相同三进制数,做不进.
2021-08-10 23:10:35 73
原创 2021-08-09
剑指 Offer 09. 用两个栈实现队列用两个栈 实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1: 输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例 2: 输入:[“CQueue”,“dele
2021-08-09 23:13:33 110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人