自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 问答 (1)
  • 收藏
  • 关注

原创 十大经典排序算法之 —— 二、快速排序+算法图解第四章(快排、大O表示法)

第四章 快速排序4.1分而治之4.2 快速排序def QuickSort(array): if len(array) < 2: return array;#基线条件,为空或者只包含一个元素是“有序”,直接返回 else: pivot = array[0]#递归条件 less = [i for i in array[1:] if i<=pivot]#由小于基准值的所有元素组成的数组 greater = [i fo

2020-05-31 10:34:02 484

原创 LeeCode 198——打家劫舍,求数组中不相邻的数的最大和

题目描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。输入: [2,7,9,3,1]输出: 12输入: [1,2,3,1]输出: 4分析:我最开始的思想就是求一个数组中的奇数和与偶数和,看哪个比较大,然后没有AC,所以看了评论用动态规划。还没好好理一

2020-05-30 16:41:48 329

原创 键指offer——动态规划与贪婪算法+面试题14:剪绳子(p94-p98)

动态规划(dp,Dynamic Programming)如果编程题是求一个问题的最优解(通常是最大值或最小值),而且该 问题能够分解为若干个子问题,并且子问题之间还有重叠的更小的子问题,就可以考虑用动态规划来解决。动态规划求解的问题的四大特点:求一个问题的最优解;整体问题的最优解是依赖各个子问题的最优解;大问题可以分成若干个子问题,这些子问题之间还有相互重叠的更小的子问题;从上往下分析问题,从下往上求解问题。由于子问题在分解大问题的过程中重复出现,为了避免重复求解子问题,可以从下往上的顺序

2020-05-30 11:19:40 357

原创 美团研发岗笔试真题练习(编程题4)——最大矩形

题目描述给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。输入描述:输入一个仅包含’0’和’1’的二维字符数组。第一行输入左大括号{,最后一行输入右大扩号}。中间每行输入只包含’0’和’1’的字符数组*(字符数组的长度不超过20),字符使用单引号’’,字符之间使用逗号,隔开,字符数组的开始和结束使用大括号{}。字符数组之间换行,并使用逗号,隔开。(字符数组的个数不超过20)*。输出描述:输出只包含字符’1’的最大矩形的面积。示例1输入{{‘1’,

2020-05-28 11:15:42 777

原创 深信服——字符串模糊匹配

一、字符串模糊匹配题目描述:从字符串string开始完整匹配子串sub,返回匹配到的字符个数。sub中如果出现’?‘表示可以匹配一到三个除’\0’以外的任意字符。如果sub还有找不到匹配的字符,则说明不能完整匹配。如果能完整匹配,返回匹配到的字符个数,如果有多种匹配方式,返回匹配字符数最少的那个,如果不能完整匹配,返回-1。输入描述:第一行输入字符串string,长度小于10000第二行输入子串sub,长度小于100输出描述:从string开头位置完整匹配sub,匹配到的字符个数。注意这

2020-05-28 11:14:05 824 1

原创 C++基础复习:各种基础函数——函数的重载、调用与声明、递归函数、内置函数、函数模板、变量存储方法类别、构造函数、析构函数、虚函数、this指针、

前言我想总结这些常见的特殊函数类型函数的重载函数的重载(founction overloading) 定义:C++允许同一函数名定义多个函数,而这些函数的参数个数和参数类型可以不相同,这就是函数的重载。 即对一个函数名重新赋予它新的含义,使得一个函数名可以多用。所谓重载,其实就是“一物多用”。 不仅函数可以重载,运算符也可以重载。例如>>和<<,既可以作为移位运算符也可以作为输入输出流中的插入运算符和数据输入流中的提取运算符。函数的重载并不要求函数体是相同的。重载函数除了允许

2020-05-28 11:08:26 895

原创 十大经典排序算法之 —— 一、冒泡排序

冒泡排序冒泡排序(Bubble Sort):它重复的走访过要排序的数列,每次比较两个元素,如果他们的顺序错误就将这两个数交换过来。走访数列的工作是重复的进行直到没有再需要交换,也就是排序已经完成。外层循环是因为总共要比较len次,内层循环是每次比较的值范围限制到len-1-i。算法名字“冒泡”的由来就是越小的元素会因为交换而慢慢的“浮”到数列的顶端。每回比较都得到一个最大值,因此内循环的限制条件应该是j<len-1-i;,因为循环到第i次会得到了i个最大值已经是被排好顺序的。C代码:

2020-05-27 18:38:21 283

原创 键指offer——面试题11:旋转数组的最小数字(p79-p87)

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。分析:二分查找法:让两个指针分别指向数组的第一个元素和最后一个元素。按照题目中的规则就是第一个元素应该是大于或等于最后一个元素的。我们以数组{3, 4, 5, 1, 2}为例。首尾指针的移动过程如图所示,不断循环,直到最终两个指针的距离为1时,表明第一个指针已经指向第一个递增

2020-05-25 21:17:36 150

原创 LeeCode 50——Pow(x, n),求x的n次方

题目描述: 实现 pow(x, n) ,即计算 x 的 n 次幂函数。C代码:double myPow(double x, int n){ if(n == 0) return 1; //n为奇数,递归实现 else if(n % 2 == 1) return myPow(x, n-1) * x; else if(n % 2 == -1) return myPow(x, n+1) * (1/x); //n为偶数,结果

2020-05-22 21:20:37 1001

原创 键指offer——面试题10:斐波那契数列(p73-79)、斐波那契的应用:青蛙跳台阶问题

文章目录题目描述递归和循环递归循环斐波那契数列(Fibonacci sequence)笔记long关键字unsigned题目描述题目一:求斐波那契数列的第n项。写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列的定义如下:分析:方法一:递归方式,但效率不高,因为在斐波那契数列计算过程中重复的计算太多,因此时间复杂度是以n的指数方式递增的。long long Fibonacci(unsigned int n){ if(n = 0) return 0; i

2020-05-22 15:06:29 463

原创 软件测试的一些理论概念

文章目录一、测试的分类二、BUG的定义三、项目测试的规划开发阶段测试项目完工验收测试四、项目测试的基本流程五、功能测试方法与内容1. 测试步骤和方法(1)边界值测试(2)数据合法性测试(3)单引号双引号(4)空值测试(5)空格(6)数据校验的不一致(7)分析2. 目录路径测试3.数据操作测试4.工具条和快捷键测试5.操作顺序测试6.按钮有效性测试7.同时刻操作测试8.附件压力测试9.数据输出测试10.WEB测试一、测试的分类这个图太大没办法整个发上来,就截成两半啦。二、BUG的定义BUG:(小错

2020-05-21 21:41:24 527

原创 软件测试的基本理论与方法

文章目录前言软件测试基础1. 软件测试的概念2. 软件测试的目的测试用例1. 测试用例的概念2. 测试用例的分类3. 测试用例的治理4. 测试用例的编制及使用前言软件测试是软件生命周期中的一项非常重要且复杂的工作,对软件的可靠性保证具有极其重要的意义。软件测试是整个软件开发过程中的一段非常重要的阶段,目的是让软件的质量能有所保障。软件测试基础质量不佳的软件产品不仅会使开发商的维护难度和用户的使用成本大幅增加,还可能产生其他的责任风险,造成公司信誉下降。1. 软件测试的概念软件测试是为了发现错误

2020-05-21 16:27:42 10564 2

原创 键指offer——面试题5:字符串之替换空格(p49-54)

替换空格题目描述:实现一个函数,将字符串中的每个空格替换成"%20"。例如:输入“We are happy.”,则输出"We%20are%20happy."。分析:我们这题就先假设所给的字符串长度够长,足以用来将全部空格替换成"%20",不然的话替换的时候就会覆盖原有的字符串喽。以string = “We are happy.”为例子,如图所示:原始string空格处插入"%20"之后就变成了新的字符串newString。在操作的时候我们先计算出原始string的长度为14(包括结尾处的'\0

2020-05-21 14:16:32 116

原创 键指offer——面试题4:二维数组中的查找(p44-48)

二维数组的查找题目描述:在一个二维数组中,每行都按从左到右的方向递增排序,每列按从上到下的方式递增排序。完成一个函数,输入一个要查找的数num和这个二维数组,判断这个二维数组中是否有这个值。分析:办法就是现在这个二维数组中找到一个值,和num比较大小:相同,则return True;否则不相同 :num大于这个值的话一定是在这个数的右方和下方区域,num小于这个值的话一定是在这个数的左下方区域。相对简单的就是把二维数组中的这个要和num进行比较的数放在右上角或者左下角区域。放右上角:这样若num

2020-05-21 09:12:47 254

原创 手撕题5——相似

题目描述:两个数是相似的,当且仅当他们位与起来不为0。例如,3和5是相似的,因为3的二进制为011,5的二进制为101,他们位与起来为001不为0。现在,给出序列a1,a2…an我们希望你找出,对于任意的i∈[1,n],是否存在j∈[1,n],使得ai,aj不相似。输入输入第一行包括一个整数n,代表序列a的长度接下来一行n个数,空格隔开,代表序列a1<=n<=100000,1<=ai<=106输出输出n个数。如果对于i个数,存在j∈[1,n],使得ai,aj不相似,

2020-05-20 21:57:35 246 1

原创 美团研发岗笔试真题练习(编程题3)——队列组合排序

题目描述一个班级男生和女生数量相同,老师要求男生女生进行排队,男生全部排在队列前面,女生紧跟着排在男生队列后面,形成一个队列,现在要求男生女生交叉排列并且第一位是男生,且每个人在在原队列中的顺序不变,如何来做?要求:交叉前:队列[男1,男2,男3,男4…男n,女1,女2,女3,女4…女n]交叉后:队列[男1,女1,男2,女2,男3,女3,男4,女4…男n,女n]输入描述:输入第一行一个整数 n 表示有 n 个男生和 n 个女生第 2 到第 n+1 行每一行有一个数字表示每个男生的编号第 n+

2020-05-19 09:56:52 748

原创 美团研发岗笔试真题练习(编程题2)——字符串查找

题目描述小美和小团在玩一个游戏,小美任意给出一个大字符串str1以及一个独立的小字符串str2,小团需要从这个大字符串str1里找到包含独立小字符串str2中所有字符的最小子字符串str3;例如,小美给出一个大字符串"meituan2019"和一个子字符串"i2t",那么小团给出的答案就应该是"ituan2";需要注意:1、str1中有可能没有完整包含str2所有字符的情况,此时返回"",即为空字符串;2、str1不会为空,但str2有可能为空,此时返回整个str1;3、str2可能存在重复的字

2020-05-19 08:47:55 1870

原创 手撕题4——拆分

题目描述:给定长度为n的串S,仅包含小写字母。定义公式中,|A|代表字符串A的长度也就是说如果子串是一个ABA型的字符串,且满足长度限制,则f(l,r)=1,否则等于0。(注意:形如“ababab”也可视为ABA型)例如当n=2时,原式为f(1,1)+f(1,2)+f(2,2)。输入第一行一个字符串S第二行一个数字k输出输出题目描述中式子的值样例输入abcabcabc2样例输出8提示1<=n<=2000 , S[i]为小写字母样例解释:在这个字符串中,有f

2020-05-18 20:35:10 401

原创 手撕题2——最大汉明距离

题目描述:给出n个数,求这n个数中两两最大的汉明距离两个数的汉明距离定义为两个数的二进制表示中不同的位数。例如11和6的汉明距离为3,因为11转换为二进制后为1011,6转换为二进制后为0110,他们的二进制第1,3,4位(从低位开始数)不同。输入第一行一个数n,代表有n个数接下来n个数,描述这n个数a1, a2 , … ,an1≤n≤100 1≤ai≤10000输出一个数,最大的汉明距离样例输入31 2 3样例输出2分析:思路:伪代码:代码:笔记:...

2020-05-18 10:53:25 688

原创 键指offer——面试题3:数组中重复的数字(p37-43)

面试题3:数组中重复的数字题目一:找出数组中重复的数字题目:在一个长度为n的数组里的所有数字都在0~n-1范围内。数组中某些数字是重复的,请找出数组中任意一个重复的数字。例如:输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复数字2或者3。注意仔细读题,尤其是这些信息: 长度为n;数字范围是0~n-1(因此也一定是有重复数字的);找出任意一个。动手写代码之前,问清楚面试官的需求,是求任意一个重复字符还是求出全部的重复字符。分析:可以用哈希表:从头到尾扫描数字,每扫描到一个

2020-05-15 18:25:09 247

原创 美团研发岗笔试真题练习(编程题1)——删除单个连续重复字符串

打算一天撕一个,从明天(20200513)开始。day1:代码题第一题将给定的字符串,按照规则删除字符,输出删除后的字符串。删除规则为:相同字符连续,则删除,如”aaaab”删除后的字符串为”b” 。注:仅是单个字符连续才删除,如babababa则不能删除;...

2020-05-14 21:15:02 913

原创 python头文件#!/usr/bin/env python和# -*- coding: utf-8 -*-作用

python头文件#!/usr/bin/env python和# -- coding: utf-8 --作用#!/usr/bin/env python 这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。目的是在运行python脚本的时候告诉操作系统我们要用python解释器去运行py脚本。# -*- coding: utf-8 -*- 这一句是告诉Python解释器:此源程序是utf-8编码的,也即告诉python解释器要按照utf-8编码的方式来读取程序。...

2020-05-13 15:22:09 1703

原创 手撕题1——求应该给多少名学生颁发单科成绩优秀奖+OJ在线判题系统的注意事项+输入数据注意事项

同样,打算一天撕一个,从明天(20200513)开始。题目描述:某学校的期末考试共有n个学生参加,考试科目共有m科。学校将会给一部分学生颁发单科成绩优秀奖,获奖学生需要满足的条件是某一科的成绩是所有学生中最高的或是最高的之一。请问学校应该给多少名学生颁发单科成绩优秀奖。输入输入第一行包含两个正整数n和m,分别代表学生人数和考试科目数量。(n,m<=500)接下来有n行,每行有m个正整数,每个正整数在1-100之间,中间用空格隔开,表示每个学生的m科考试成绩。输出输出仅包含一个整数,表示

2020-05-13 15:15:40 375

原创 错误 1 error LNK1104: 无法打开文件“D:\C或C++练习\meituan1\meituan1\Debug\test1.exe”

当调试显示窗口时,发现出现异常或者错误,总之就是无法启动窗口(即打开exe文件)原因: 因为你的程序没有正常退出,进程还在后台运行。解决办法:可以在任务管理器进程管理里的进程部分,找到你所创建的exe进程,结束该进程(所有的该进程,可能你运行了好几次了),再编译运行,就OK了。我所遇到的就是调试时打开的终端窗口没关闭导致错误1104了,关闭了调试终端就好了。...

2020-05-13 11:55:58 3353 2

原创 美团研发岗笔试真题练习(选择题)

一:设栈S和队列Q的初始状态均为空,元素啊,a,b,c,d,e,f,g依次进入栈S。若每个元素出栈后立即进入推列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是?答: 3个。栈是后进先出,队列是先进先出。画个图,十分明了。现有二叉搜索树(BST)前序遍历结果序列为abdefgc,中序遍历结果序列为debgfac,请问后序遍历结果序列?答: 如图所示为 defgbca以下设计模式中,哪一项不属于结构性模式?A 适配器模式B 代理模式C 命令模式D 装饰模式答:

2020-05-12 21:41:39 3129 1

原创 《笨办法学python》(第四版)笔记 - day9

习题31:做出决定笔记:

2020-05-09 21:05:06 191

原创 《笨办法学python》(第四版)笔记 - day8

习题26:更多的练习笔记:代码:

2020-05-08 20:54:13 242

原创 键指offer——面试题1:赋值运算符函数(p25)

面试题1:赋值运算符函数题目: 如下类型CMyString的声明,请为该类型添加赋值运算符函数class CMyString{//内部成员函数public: CMyString(char* pData = nullptr);//构造函数,对象 CMyString(const CMyString& str); ~CMyString(void);private: char*...

2020-05-08 16:59:11 169

原创 在C++中,有哪4个与类型转换相关的关键字?这些关键字各有什么特点,应在什么场合下使用?

在C++中,有哪4个与类型转换相关的关键字?这些关键字各有什么特点,应在什么场合下使用?答:

2020-05-08 10:06:47 674

原创 键指offer——求链表中的倒数第k个节点(p13)

求链表中的倒数第k个节点思路: 用两个指针,第一个指针先走k-1步,然后两个指针一起走。当第一个指针走到尾节点时,第二个指针指向的就是倒数第k个节点。如图所示:笔记:链表的概念:由一系列不必在内存中相连的结构组成的,通过指针将一个个两三的内存块链接起来的线性的数据结构。链表的每个内存块称为结点Node;每一个结构均含有表元素和指向包含该元素后继元的结构的指针,称为Next指针;最后一个单...

2020-05-06 11:06:12 112

原创 键指offer——C++语言(p12-p24)

微软技术面试常问题——将一个字符串转换成整数主要功能实现:int StrToInt(char* string){ int number=0; while(*string!=0) { number = number*10 + *string - '0'; ++string; } return number;}注意:在实现功能的同时考虑:边界条件、特殊输入(如nullpt...

2020-05-05 22:13:48 173

原创 软件测试--WEB专题(中电标准化研究院)

文章目录软件测试--WEB专题C/S与B/S架构C/S架构B/S架构CS、BS 对硬件环境的要求:优缺点分析WEB测试的关键点表单测试WEB兼容性测试WEB性能测试软件测试–WEB专题C/S与B/S架构C/S架构C/S(Client/Server):客户端----服务器结构C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。...

2020-05-05 18:38:29 539

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除