- 博客(31)
- 收藏
- 关注
原创 【Python】算法刷题之二分查找
二分查找法,其实也叫“折半查找”,是一种效率较高的查找方法。同时它也告诉了我们使用的条件,首先线性表需要是有序的,并且不能有重复元素,这就是使用它的前提条件。看到可能会觉得好像很容易呀,虽然我们判断是否使用二分查找不难,但是我们在实际用它的使用却会感到麻烦不小,为什么呢?
2022-12-05 22:24:36
675
1
原创 一名普通本科生从无到有(暑期实习)的分享感悟
前言本篇帖子主要记录下自己在找实习的一个经过吧,有兴趣的佬们可以看看,帖子中可能有很多自己的看法,牛友们不喜勿喷哈😊先介绍下自己吧,普通本科,没有竞赛经历,没有任何奖项,大三上用python做了一个项目,这就是2022年之前的我!在1.3号进入了csdn优秀博主兴趣使然的草帽路飞的交流群,也就是从这里开始改变了自己(给飞佬打个广告,群里巨佬很多😜)2022.1.8-2022.3.14 准备阶段1.8号学校放假,在进入交流群近一个星期后,我了解到了关于程序员的很多东西,从未听过的春招.
2022-04-28 23:10:08
1385
1
原创 【动态规划】---入门(一)
文章目录前言一、斐波那契数列二、爬楼梯总结前言动态规划入门学习文章记录及总结动态规划算法的基本思想是:将待求解的问题分解成若干个相互联系的子问题,先求解子问题,然后从这些子问题的解得到原问题的解;对于重复出现的子问题,只在第一次遇到的时候对它进行求解,并把答案保存起来,让以后再次遇到时直接引用答案,不必重新求解。动态规划算法将问题的解决方案视为一系列决策的结果一、斐波那契数列输入描述:一个正整数n返回值描述:输出一个正整数。示例1输入:4返回值:3思路:简单动态规划的思路
2022-04-25 19:44:48
250
原创 滴滴测开二面总结
1.自我介绍加上了一个在校经历,再介绍项目经历2.项目介绍深入的询问了项目,项目周期,项目设计,数据库设计,功能实现等3.项目中遇到的难点数据格式等4.作为小组长最重要的两点团队内部沟通,向导师及时反馈5.数据库怎么设计根据具体业务和需求,没有太多考虑性能6.判断链表是否有环,重新写一面的反转链表很基础,没啥问题7.测试登陆注册用例复述了一面面试官姐姐教我的测试方法8.测试滴滴出行打车的测试用例说的不是很好,没有达到面试官姐姐的要求9.测试自己项目的注册模块的测试用例说了邮
2022-03-21 21:10:46
3101
2
原创 杭州滴滴测开一面总结
滴滴的测开一面,一紧张忘记录音了,乘着刚结束,先把面经写下来。第一次参加面试,太紧张了,第一次在记事本里写代码,当时人有点懵。先做了一个自我介绍,不太会做这方面的自我介绍,简单说了下以及介绍了下项目,说话有点结巴,没组织好语言,害。然后正式开始面试。1.TCP/UDP的区别回答了一下面对连接和无连接,传输方式和应用场景,说的结结巴巴,太紧张了呜呜呜2.HTTP/HTTPS的区别回答了http的无状态,明文传输,不安全,https的加密ssl/stl协议,然后对http和https的传输速度和过
2022-03-17 18:02:03
941
1
原创 Linux虚拟机中nginx的安装及配置
文章目录前言一、nginx的安装(centos为例)1.下载安装包2.准备Linux的环境3.安装二、外网访问3.安装过程中的一些记录总结前言正在使用nginx部署一个flask项目在Linux虚拟机中,记录下下载nginx过程,后边也可用于下载在云服务器中。一、nginx的安装(centos为例)1.下载安装包nginx下载 进入网页后下载Linux版本的本文下载的是nginx-1.8.1.tar.gz然后想办法将下载的压缩包上传至Linux系统中,博主使用的是第三方工具:winSCP2
2022-03-12 16:10:27
6332
原创 二分查找、双指针、滑动窗口算法技巧总结
文章目录一、数组二分查找1.算法介绍2.算法过程3.代码模板4.细节处理二、数组双指针1.左右指针1.1求解步骤1.2案例实现2.快慢指针2.1求解步骤2.2案例实现三、滑动窗口1.算法介绍2.适用范围3.固定长度窗口3.1固定长度窗口求解步骤3.2案例实现4.不定长度窗口4.1 不定长度窗口求解步骤4.2 案例实现一、数组二分查找1.算法介绍二分查找法(Binary Search)算法,也叫折半查找算法。二分查找针对的是一个有序的数据集合,查找思想有点类似于分治思想。先确定待查找元素所在的区间范围,
2022-03-08 15:02:45
763
原创 算法--二分查找(python实现)
二分查找1.算法介绍二分查找法(Binary Search)算法,也叫折半查找算法。二分查找针对的是一个有序的数据集合,查找思想有点类似于分治思想。每次都通过跟区间的中间元素对比,将带查找的区间缩小为之前的一半,知道找到要查找的元素,或者区间被缩小为0。二分查找是一种非常非常高效的查询算法,时间复杂度未O(logn)。基本算法思想:先确定待查找元素所在的区间范围,在逐步缩小范围,直到找到元素或找不到该元素为止。2.算法过程二分查找算法的过程如下所示:每次查找时从数组的中间元素开始,如果中间元素
2022-02-21 21:18:27
5784
原创 算法--常见十大排序算法(python实现)
一、冒泡排序算法思想:第 i (i = 1,2,… ) 趟排序时从序列中前 n - i + 1 个元素的第 1 个元素开始,相邻两个元素进行比较,若前者大于后者,两者交换位置,否则不交换。冒泡排序法是通过相邻元素之间的比较与交换,使值较小的元素逐步从后面移到前面,值较大的元素从前面移到后面,就像水底的气泡一样向上冒,故称这种排序方法为冒泡排序法。算法步骤:先将序列中第 1 个元素与第 2 个元素进行比较,若前者大于后者,则两者交换位置,否则不交换;然后将第 2 个元素与第 3 个元素比较,
2022-02-21 00:11:26
688
原创 【剑指offer】第一天:栈与队列
用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]分析维护两个栈,第一个栈支持插入操作,第二个栈支持删除操作。根据栈先进后出的
2022-02-09 15:11:52
79
原创 初识Django
文章目录前言一、初步使用二、使用Django连接数据库总结前言最近在看《python编程–从入门到实践》这本书,基础和项目都有去做,之前学习了flask框架,本书中最后是一个用Django框架去做的项目,然后自己就去学习了一下Django框架,发现和flask有比较大的区别,之前自己以为都差不多,通过不断的试错,终于稍微了解了一下相关的基础知识,现在做一个记录,以防后边需要的时候忘记,毕竟主要还是用flask框架。一、初步使用在csdn上看到很多搭建Django环境和下载的,不过我们这里是直接使用p
2022-01-25 23:53:17
2105
原创 【LeetCode】—232. 用栈实现队列
232. 用栈实现队列:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek()返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop fro
2022-01-16 22:17:22
79
原创 【LeetCode】—167.两数之和 II - 输入有序数组
167.两数之和 II - 输入有序数组:给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。题目网址:https:/
2022-01-12 13:54:12
149
原创 【LeetCode】——1.两数之和
1.两数之和:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。题目网址:https://leetcode-cn.com/problems/two-sum/示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[
2022-01-11 11:33:45
108
原创 阿里云服务器免费获取体验-----【开发者成长计划】
文章目录前言一、使用前提二、获取步骤1.进行初次领取2.免费续领总结前言为了完成学校老师布置的任务,需要能够让项目组其他队友共享本地数据库,后边想到了服务器,将数据库部署到服务器中便可以了,然后在网上搜索相关内容,发现有一个阿里云的免费体验计划,立马就去弄了,顺便记录一下。一、使用前提每一位用户只能领取一次,需要进行实名验证专门为高校学生准备的福利,需要进行学生认证二、获取步骤1.进行初次领取活动网址:https://developer.aliyun.com/plan/grow-u
2022-01-10 22:15:44
887
原创 scrapy项目实战(一)--基础知识学习
Scrapy框架学习一、什么是scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取Scrapy使用了Twisted[‘twistid’]异步网络框架,可以加快我们的下载速度补充:异步和非阻塞的区别异步:调用在发出之后,这个调用就直接返回,不管有无结果非阻塞:关注的是程序在等待调用结果(消息、返回值)时的状态,指在不能立刻得到结果之前,该调用不会阻塞当前的线程二、scrapy的工作流程使用框架:一、帮助提升速率,
2021-11-14 01:09:36
997
原创 python基础:异常处理和文件操作
一、异常处理概念:程序停止执行并且提示错误信息 这个动作,我们通常称之为 :抛出异常异常处理是我们在开发程序时,由于很难对所有的特殊情况都处理好,通过异常处理可以针对突发事件进行集中的处理,这样就可以保证程序的完整性和稳健性。二、捕获异常1.简单捕获异常语法num = int(input("请输入一个整数:"))#一条语句,当输入不是整数时会报错#异常处理后的程序try: #不能确定正确执行的代码 num = int(input("请输入一个整数:"))excep
2021-11-13 13:57:23
214
原创 pycharm中将Excel数据存入mysql数据中
文章目录前言一、将Excel数据导入pycharm中二、将数据储存入mysql数据库1.导入pymysql库2.书写SQL语句总结前言在做项目中,应需要将Excel表中数据存入到数据库中,因此在通过学习及参考后,完成了这一功能。写下文章记录完整的过程一、将Excel数据导入pycharm中本步骤有很多种方式:可以用xlrd库,将Excel数据导入进来,也可以用pandas导入数据信息在此我们理智的选择了后者,利用pandas库进行导入,因为它真的很简单。import pandas as pd
2021-11-11 14:10:21
6702
6
原创 gitee的详细使用教程
文章目录前言一、将本地文件上传至gitee仓库中1.创建本地文件夹2.将本地文件初始化为本地仓库3.上传至本地仓库中(1).将文件从工作区存入暂缓区(2).将暂缓区的文件存入本地仓库中4.还原已删除文件5.将本地仓库文件上传至gitee二、使用pycharm将文件上传至gitee仓库中1.打开pycharm,找到欢迎页2.配置虚拟环境3.打包依赖项清单4.上传至远程仓库总结前言介绍一些关于中国版github,gitee的使用,作为一个合格的程序员。未来的工作中一定会用到其中一个来储存你的或者公司团队
2021-08-29 01:16:00
7442
1
原创 Git详细安装过程
一.Git安装Git官网:https://git-scm.com/1.首先先安装软件2.下载后点击软件进行安装,并且设置配置选择下一步3.选择下载路径直接使用默认的装在C盘就可以,本身软件内存不大。不需要更改路径4.配置操作Windows explorer integration 是一定要勾选的,它是让git能够显示在右键的菜单里的其他的勾不勾都可以自行选择勾选不需要创建桌面快捷方式5.选择git默认编辑器如果下载了vscode,可以选择vscode编辑器,我们这里选
2021-08-27 23:42:39
161
原创 学习mysql心得体会及1054、1366等问题解决
文章目录前言一、MySQL基本操作1.创建MySQL数据表2.增删改查二、实战训练1.数据保存1.pymysql:1054错误2.pymysql:1366错误2.知识点补充1.cmd界面MySQL数据库的操作2.数据库的分享总结前言因为我们爬虫获取到的数据都是在内存中,是临时的,很容易导致数据丢失,所以为了将我们的数据能够长期的储存下来,我又学习了一些怎么把数据解析后存储入MySQL数据库中。在学习的过程中遇到了了很多的问题,在文章中也会写到一、MySQL基本操作首先我就先去了解了一下pych
2021-07-27 01:39:12
548
原创 python爬虫----使用xpath解析数据
文章目录前言一、xpath是什么?二、实例分析1.使用xpath提取数据2.保存数据总结前言爬虫数据提取的第三种方式,一般我们常用的爬虫方式,今天是xpath方法解析数据了。其实也还有其他的,像css选择器等。不过我们常用的大概就是这三种解析方式了。BeautifulSoup解析,正则表达式解析,以及现在的xpath解析。其实爬虫基础内容其实也就是这么多了,接下来重点可能会放在反爬、解密之类的,以及加快爬取效率。一、xpath是什么?XPath,全称XML Path Language,即XML
2021-07-25 01:01:40
1180
原创 python爬虫基础----使用正则表达式解析数据
文章目录前言一、正则表达式的基本用法二、实例分析1.获取我们想要的数据2.保存我们获取的数据总结前言通过实例来学习数据解析中的正则表达式解析方法,在实操的过程中也会扩展一些知识点的分享一、正则表达式的基本用法正则表达式描述了一种字符串匹配的模式(pattern),可以用来检查一个字符串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。通俗理解:就是使用一种规则性的表达式来寻找文本字符串中通用的数据。我们在解析数据时一般会用到几个常用的函数:re.find(),re.
2021-07-23 23:29:42
1085
原创 使用BeautifulSoup进行解析数据
bs4数据分析一、基础介绍bs4 全名 BeautifulSoup,是编写 python 爬虫常用库之一,BeautifulSoup4也是一个html/xml的解析器,主要用来解析 html 标签。-数据解析的原理:1.标签定位2.提取标签、标签属性中存储的数据值- bs4数据解析的原理:1.实例化一个BeautifulSoup对象,并且将页面源码数据加载到该对象中2.通过调用BeautifulSoup对象中相关的属性或者方法进行标签定位和数据提取我们一般在使用bs4库进行
2021-07-23 00:28:01
6285
原创 conda的安装与使用
conda的安装与使用一、conda可以干嘛?官方介绍:Anaconda 是一个包含数据科学常用包的 Python 发行版本。它基于 conda ——一个包和环境管理器——衍生而来。你将使用 conda 创建环境,以便分隔使用不同 Python 版本和不同程序包的项目。你还将使用它在环境中安装、卸载和更新包。通过使用 Anaconda,处理数据的过程将更加愉快。解释:conda是一个环境管理器,Conda是在Windows、macOS和Linux上运行的开源软件包管理系统和环境管理系统Conda
2021-07-20 22:17:11
35834
13
原创 认识HTML5
文章目录前言一、HTML5是什么?二、HTML5代码实训1.基础介绍2.代码实训总结前言在学习爬虫的过程中呢,遇到了爬取网页内容看不懂的问题,所以,自己就跑去把基础HTML5了解了一下,也对其有了一定的了解,所以也希望把HTML5的学习内容写成一篇文章,记录下来。一、HTML5是什么?HTML,全称“Hyper Text Markup Language(超文本标记语言)”,简单来说,网页就是用HTML语言制作的。HTML是一门描述性语言,是一门非常容易入门的语言。HTML5是Web中核心语言H.
2021-06-27 11:07:09
107
原创 我的第一个python爬虫
文章目录前言一、python爬虫是什么?二、豆瓣电影TOP250排行榜信息爬取1.发送请求2.获取数据3.解析数据4.保存数据总结前言今天想跟大家分享下我完成第一个python爬虫项目的过程,同时记录自己的“第一次”。我的第一个爬虫项目是在B站上学习的,讲的特别细。课程链接发在这啦,想走进Python的小伙伴可以点进去开始学习!Python爬虫+数据可视化其实,在自己没有了解过爬虫的时候,对于爬虫是没什么感觉的,但是在听课的过程中,慢慢的了解爬虫后,愈发的对其感到了兴趣。感觉爬虫是一个好奇妙的.
2021-06-25 10:45:28
401
1
原创 Python学习:从菜鸟开始(1)
【Python】基本功 :“两位好兄弟”判断和循环语句**前言呜呜呜~ 第一次写博客,表示不会用这个编辑器写…第一次嘛,硬着头皮上,想总结下自己今日所学的一些关于python的基础希望能够让看到的小伙伴们一起学习,同时也可以指出我的错误!第一位:判断语句条件判断:基本形式由图上图为if条件语句,当“判断条件”成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。当“判断条件”不成立时,则执行else语句后方的相关语句。注意:python语言中一般是以缩进来
2020-10-03 16:11:43
102
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人