python
冬嫱姐姐
大四菜狗在线刷算法题,leetcode和lintcode,以及更新自己的面试经历,希望大家多多点赞支持
展开
-
Python刷LeetCode 66 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1: 输入:digits = [1,2,3] 输出:[1,2,4] 解释:输入数组表示数字 123。示例 2: 输入:digits = [4,3,2,1] 输出:[4,3,2,2] 解释:输入数组表示数字 4321。示例 3: 输入:digits = [0] 输出:[1]提示: 1 <原创 2022-02-19 21:02:08 · 162 阅读 · 0 评论 -
Django 模型类
(MySQL数据库)在 Django 中一个模型类就对应着数据库中的一张表, 对模型类的任何操作都是对数据库表的操作. 在该项目中, 我们需要对业务进行分析, 然后创建所需要的表.注意点:模型类需要定义在 models.py 模块中.模型类必须继承自 models.Model 类.每一个类属性和数据库表中的一个字段一一对应.类属性后面的字段类型是由 Django 定义, 方便将字段类型映射到不同的数据库中. 例如如下代码:goods_name = models.CharField(max_原创 2022-02-10 18:33:45 · 513 阅读 · 0 评论 -
Django简介
Django项目:项目文件夹下有一个同名目录以及一个manage.py文件同名目录:__init__.py : 空文件,指定当前目录可作为包使用settings.py : 是整个项目的配置文件,例如配置应用,模板目录,静态文件目录等等urls.py : 是项目的URL配置文件,在文件中将用户请求的URL对应到某个视图函数wsgi.py : 是项目与支持WSGI协议的服务器对接的入口文件同级目录:manage.py : 项目运行的入口文件,执行项目配置文件路径Django所使用模型:D原创 2022-02-10 12:12:25 · 984 阅读 · 0 评论 -
python刷算法 LeetCode219 存在重复元素II
给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/contains-duplicate-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例 1: 输入:nums = [1,2,3,1],原创 2022-01-19 23:39:54 · 771 阅读 · 0 评论 -
django框架MySQL数据库配置
第一种:对应Python3的MySQL数据驱动是mysqlclient,pip直接下载即可,关于pip下载慢的问题,详见之前文章,pip更改国内镜像源。在命令行输入以下代码pip install mysqlclient数据库配置在settings.py文件中,将默认数据库修改为mysql,以下代码为格式DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库原创 2022-02-03 21:53:03 · 1655 阅读 · 0 评论 -
Python学习笔记(十):for循环
for循环格式:for 变量名 in range(n): 循环体内容for i in range(n): 循环体else: 如果上面的 for 循环 0~n-1 没有出现中断 (break) 则运行 else, 不被中断才会执行,被中断则不会执行range(n): 默认从 0 开始取值到 n-1 结束range(start, stop): 从 start 开始 到 stop 结束, [start, stop), 左闭右开range(start, stop, step)原创 2022-01-27 22:15:10 · 1186 阅读 · 0 评论 -
Python学习笔记(九):while循环
循环:场景:1.用户名和密码,反复输入2.计算1-1003.游戏,死了重生。。。。方式:1.while2.forwhile格式:while 条件:要循环执行的代码布尔类型的条件# 打印 1 - 50 之间能被3整除的数字n = 1while n <= 50: if n % 3 == 0: print('------> n = %d' % n) n += 1# 打印 1 - 10 之间数字的累加和n = 1sum = 0whi原创 2022-01-26 21:38:24 · 3669 阅读 · 0 评论 -
Python学习笔记(八):条件语句
条件语句:ifif … elseif … elif … elseif语句的格式:if 条件:条件成立要执行的语句print(1)print(2)print(3)# 4, 5, 6 有条件打印result = input('请输入(y/n):')if result == 'y': print(4) print('over~~~~')elif result == 'n': print(5) print('over~~~~')else: pri原创 2022-01-25 19:58:37 · 461 阅读 · 0 评论 -
Python学习笔记(七):格式化输出
name = '冬嫱姐姐'age = 22# 我喜欢听22岁的冬嫱姐姐唱歌print('我喜欢听'+str(age)+'岁的'+name+'唱歌')# 字符串格式化'''符号:%s 字符串 string%d 数值 digit%f 浮点数 float'''print('我喜欢听%d岁的%s唱歌' % (age, name))print('我喜欢听%s岁的%s唱歌' % (age, name)) # %s 可以进行类型转换money = 1.1print('我喜欢听%.2f买的%原创 2022-01-25 11:05:28 · 93 阅读 · 0 评论 -
Python学习笔记(六):位运算
位运算:针对二进制进行的运算& | ^ ~ << >># &n1 = 0b0110n2 = 0b0010print(n1 & n2)'''1为真 0为假n1 = 0b0110 # 6n2 = 0b0010 # 20 & 0 -> 01 & 0 -> 00 & 1 -> 01 & 1 -> 1结果为 0b0010 # 一位一位比较, & 两者均为1则为1''原创 2022-01-25 10:47:42 · 540 阅读 · 0 评论 -
力扣模拟面试 相同数目元音
给你一个偶数长度的字符串 s 。将其拆分成长度相同的两半,前一半为 a ,后一半为 b 。两个字符串 相似 的前提是它们都含有相同数目的元音(‘a’,‘e’,‘i’,‘o’,‘u’,‘A’,‘E’,‘I’,‘O’,‘U’)。注意,s 可能同时含有大写和小写字母。如果 a 和 b 相似,返回 true ;否则,返回 false 。示例 1: 输入:s = "book" 输出:true 解释:a = "bo" 且 b = "ok" 。a 中有 1 个元音,b 也有 1 个元音。所以,a 和 b 相似原创 2022-01-21 10:44:24 · 319 阅读 · 0 评论 -
python刷算法 LeetCode 剑指offer 04 二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 target = 5,返回 t转载 2022-01-21 23:13:30 · 90 阅读 · 0 评论 -
Python学习笔记(五):进制转换
二进制:0 1八进制:0 1 2 3 4 5 6 7十进制:0 1 2 3 4 5 6 7 8 9十六进制:0 1 2 3 4 5 6 7 8 9 a b c d e fx = 123x2 = bin(x) # bin()函数为二进制转换 0b开头为二进制 0b1111011print(x2)x8 = oct(x) # oct()函数为八进制转换 0o开头为八进制 173print(x8)x16 = hex(x) # hex()函数为16进制转换 0x开头为十六进制 7bprint(x1原创 2022-01-25 09:50:08 · 209 阅读 · 0 评论 -
Python学习笔记(四):运算符
运算符:算数运算符:+ - * / % // **赋值运算符:= += -= *= /= **= //= %=比较运算符:> < >= <= == != is逻辑运算符:and or not# 算数运算符:a = 1b = 2c = a + b# print(a, b, c, end='\n') # 1 2 3 \n表示末尾换行print(a, b, c) # 1 2 3print(c - a) # 2print(c * a) # 3print(c **原创 2022-01-24 20:51:16 · 148 阅读 · 0 评论 -
Python学习笔记(三):类型转换
变量名为a为例:str --> int int(a) 当a为小数而且为字符串类型时会报错str --> float float(a)int --> str str(a)float --> str str(a)int --> float float(a)float --> int int(a) 当a为小数时会抹去小数点后面数字当转换Boolean类型时,True转换为1,False转换为0其他转换为Boolean时,只有0和’’(空字符串原创 2022-01-24 15:59:19 · 266 阅读 · 0 评论 -
Python学习笔记(二):数据类型
变量类型:数字类型(Numbers):int(整形)long(长整型,也可以代表八进制和十六进制)float(浮点型)complex(复数)布尔类型(boolean):TrueFalse字符串:String列表:List元组:Tuple字典:Dictionary# 声明了一个名称为money的变量,赋值为1000money = 1000# type('变量名')函数为查看变量数据类型,<class 'int'>说明该变量为int类型type(mo原创 2022-01-24 15:26:34 · 131 阅读 · 0 评论 -
Python学习笔记(一):变量
"""变量:容器弱语言:变量声明的时候对数据类型不是很严格。格式:变量名 = 值1.怎么起名2.可以赋什么值3.有哪些数据类型4.命名规范(字母,数字,下划线,其他特殊符号不行,不能数字开头,不能使用关键字,严格区分大小写): a.项目名称 首字母大写+大写式驼峰, ProjectName b.模块名和包名 全部小写+下划线驼峰 module_name, package_name c.类名称,异常 首字母大写+大写式驼峰, class原创 2022-01-24 11:42:24 · 91 阅读 · 0 评论 -
更换pip国内镜像源
镜像源地址(1)阿里云 http://mirrors.aliyun.com/pypi/simple/(2)豆瓣http://pypi.douban.com/simple/(3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/(4)中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/(5)华中科技大学http://pypi.hustunique.com/Linux下:修改 ~/.pip/pip.conf (没原创 2022-01-24 09:57:58 · 922 阅读 · 0 评论 -
第一家面试,某游戏公司
学的是python,由于种种原因,第一个却面了一个PHP公司一、自我介绍balabala,先把简历上的说一遍,大学经历,做过的项目,获过的奖二、问项目简历上写的项目,感觉面试官不太会python问kmeans的实现原理(聚类算法,和KNN一起对比着回答会简单一些)购物商城项目的主要负责内容(其实就是自己做的,并没有主次),购物车在没有登录时添加商品如何保存下一次打开时还存在,答:未登录分配给用户一个id,存入数据库(这个问题感觉面试官不是很满意,应该使用cookie)三、问数据库mys原创 2022-01-12 10:54:35 · 2446 阅读 · 0 评论 -
LeetCode 997 有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序原创 2022-01-07 18:47:31 · 63 阅读 · 0 评论 -
LeetCode 35 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2示例 2:原创 2022-01-06 21:25:31 · 183 阅读 · 0 评论 -
LeetCode 278 第一个错误的版本
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。来源:力扣(LeetCode)链接:h原创 2022-01-06 21:12:39 · 45 阅读 · 0 评论 -
LeetCode 704 二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4示例 2: 输入: nums = [-1,0,3,5,9,12], target = 2 输出: -1 解释: 2 不存在 nums 中因此返回 -1来源:力扣(Leet原创 2022-01-06 21:00:58 · 165 阅读 · 0 评论 -
LeetCode 1 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。思路:1.暴力破解,双重for循环,可能会超内存2.查找么,类似于这类型的查找,用哈希表,时间复杂度为n,只需循环一遍,查找target-num是否在哈希表中即可来源:力扣(LeetCode)链接:https://leetcode-cn.com原创 2022-01-04 23:25:50 · 57 阅读 · 0 评论 -
python刷算法 LeetCode 367 有效的完全平方数
给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如 sqrt 。示例 1: 输入:num = 16 输出:true示例 2: 输入:num = 14 输出:false来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-perfect-square著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路原创 2022-01-22 21:06:15 · 360 阅读 · 0 评论 -
python刷算法 LeetCode 374 猜数字大小
猜数字游戏的规则如下:每轮游戏,我都会从 1 到 n 随机选择一个数字。 请你猜选出的是哪个数字。如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了。你可以通过调用一个预先定义好的接口 int guess(int num) 来获取猜测结果,返回值一共有 3 种可能的情况(-1,1 或 0):-1:我选出的数字比你猜的数字小 pick < num1:我选出的数字比你猜的数字大 pick > num0:我选出的数字和你猜的数字一样。恭喜!你猜对了!pick == num原创 2022-01-23 09:15:55 · 126 阅读 · 0 评论 -
日常记录 重新安装pycharm双击无法打开以及解决方法
最近打算把python重新学一遍,从基础语法开始今儿重装了一下电脑,pycharm重新下载安装后双击无法打开找了很久网上的解决办法大概有以下几种:更改pycharm64.exe.vmoptions中的jar包,但是研究了研究发现他们都是破解版的,而我是直接下载官网最新正版的,于是乎,无法解决JDK的问题,但我又寻思着,JDK并不是python用的,是Java用的,于是乎,并没有采用这个方法命令行以管理员身份运行以下命令: netsh winsock reset,但对我来说并没有什么用,还是没有原创 2022-01-23 19:43:34 · 3321 阅读 · 0 评论 -
python刷算法 LintCode 920 会议室
给定一系列的会议时间间隔,包括起始和结束时间[[s1,e1],[s2,e2],…(si < ei),确定一个人是否可以参加所有会议。样例样例1 输入: intervals = [(0,30),(5,10),(15,20)] 输出: false 解释:(0,30), (5,10) 和 (0,30),(15,20) 这两对会议会冲突样例2 输入: intervals = [(5,8),(9,15)] 输出: true 解释:这两个时间段不会冲突思路:排序+贪心代码:"""D原创 2022-01-17 12:58:52 · 100 阅读 · 0 评论 -
python刷算法 LintCode 147 水仙花数
水仙花数的定义是,这个数等于他每一位数上的幂次之和 见维基百科的定义比如一个3位的十进制整数153就是一个水仙花数。因为 153 = 13 + 53 + 33。而一个4位的十进制数1634也是一个水仙花数,因为 1634 = 14 + 64 + 34 + 44。给出n,找到所有的n位十进制水仙花数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii著作权归领扣网络所有。商业转载请联系官方原创 2022-01-16 18:13:24 · 503 阅读 · 0 评论 -
python刷算法题 LintCode 8 旋转字符串
给定一个字符串str和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转)。对于不同的语言,str将以不用的形式给出,例如对于字符串 “abc” ,将以下面的形式给出Java: char[] str = {‘a’, ‘b’, ‘c’};Python:str = [‘a’, ‘b’, ‘c’]C++:string str = “abc”;样例样例 1:输入:str = "abcdefg" offset = 3输出:"efgabcd"解释:注意是原地旋转,即str旋转后为"efgabcd原创 2022-01-16 18:10:48 · 154 阅读 · 0 评论 -
Python刷算法 LintCode 463 整数排序
题目描述给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。样例样例 1: 输入: [3, 2, 1, 4, 5] 输出: [1, 2, 3, 4, 5] 样例解释: 返回排序后的数组。样例 2: 输入: [1, 1, 2, 1, 1] 输出: [1, 1, 1, 1, 2] 样例解释: 返回排好序的数组。代码:class Solution: # @param {int[]} A an integer array原创 2022-01-15 10:15:53 · 349 阅读 · 0 评论