![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
暑假学习
weixin_44814121
这个作者很懒,什么都没留下…
展开
-
Leetcode78. Subsets(q)
文章目录链接思路python1.c++1.链接link思路没思路看别人的方法。有一种方法,每次遇到一个新的元素,1.不添加到原来的集合中 2.添加到原来的集合中。只有这两种情况。在我看来比较难以实现的时是,因为不知道最终有多少个集合,所以不知道怎么分配内存。是先设置一个储存各种数组指针的数组吗?但是最后有多少个指针呢?所以好像用c++麻烦一些,因为python数组可以随意边长。不...原创 2019-09-14 16:16:45 · 79 阅读 · 0 评论 -
Leetcode203. Remove Linked List Elements
文章目录链接思路cpython链接link思路链表的基本操作。这里需要注意的是,如果在一个函数里,改变链表,原链表并没有改变。所以需要返回一个新链表。c这里有个问题,我不知道题目中head的结点是否储存元素,或者他只是个空的。不过试了试,head也储存数字的。C语言真的,太难写了。还得写上注释自己才能明白过来orz。啊debug还得用好久注意:随时赋值NULL/** ...原创 2019-09-02 15:01:37 · 68 阅读 · 0 评论 -
Leetcode198. House Robber
文章目录链接思路链接link思路不能连着偷,想偷到最多钱。可以连着的我会,不能连着的。。。。就隔着呗。dp[i] = max(nums[i] + dp[i - 2], dp[i - 1])原创 2019-09-02 11:53:48 · 67 阅读 · 0 评论 -
Leetcode191. Number of 1 Bits
文章目录链接思路python1.2.链接link思路嗯,只要用位运算右移的话,好像也没啥难的。python1.class Solution(object): def hammingWeight(self, n): """ :type n: int :rtype: int """ result = ...原创 2019-09-01 22:08:26 · 109 阅读 · 0 评论 -
Leetcode190. Reverse Bits
文章目录链接思路python链接link思路位运算。如果是用位运算的话,也不难了。<<和>>这两个符号,原来还在想有啥用,这就用上了。pythonclass Solution: # @param n, an integer # @return an integer def reverseBits(self, n): re...原创 2019-09-01 21:24:29 · 82 阅读 · 0 评论 -
Leetcode169. Majority Element
文章目录链接思路python1.2.3.C链接link思路没啥时间和空间上的特殊要求。可以遍历整个数组,将值作为键,存在字典里,每次键对应的值+1。并且判断值是否超过数组大小的一半。python1.class Solution: def majorityElement(self, nums: List[int]) -> int: n = len(num...原创 2019-09-01 10:25:47 · 81 阅读 · 0 评论 -
Leetcode172. Factorial Trailing Zeroes
文章目录链接思路链接link思路好像不是很难,但是有要求,时间复杂度是logarithmic.计算n!就不能用递归的思路了。那就不要算n!咯,题目要求的是求最后有多少个0.只要达到目的即可。...原创 2019-09-01 09:17:39 · 69 阅读 · 0 评论 -
Leetcode167. Two Sum II - Input array is sorted
文章目录链接思路python1.2.c链接link思路暴力解法的话,就是列举出所有可能的切片,然后看齐和是否等于target。但是这里所给的序列已经经过排序,就想着,可以数字偏大的话,就左移,偏小的话,就右移。直到找到合适的那两个指针为止。python1.刚开始单纯地想了一个思路class Solution: def twoSum(self, numbers: List[i...原创 2019-08-31 22:11:35 · 75 阅读 · 0 评论 -
Leetcode155. Min Stack
文章目录链接思路python1.2.链接link思路感觉好像不难,基本的栈的操作。之前用c写过python1.貌似没啥难度。但是用时好长啊QAQclass MinStack: def __init__(self): """ initialize your data structure here. """ se...原创 2019-08-31 20:49:06 · 66 阅读 · 0 评论 -
Leetcode136. Single Number
文章目录链接思路python1.2.3.链接link思路倒是能想出来方法,但是貌似很复杂,自己都不想用。比如再建一个新列表,循环的时候每次在新列表里查找有无这个元素,没有的话就添加进去,有的话就删除。最后返回新列表里面的元素。每次都得在新列表里面查找有无这个元素,时间复杂度很大。python1.class Solution: def singleNumber(self, ...原创 2019-08-30 15:22:03 · 56 阅读 · 0 评论 -
Leetcode206. Reverse Linked List
文章目录链接思路c1.2.python链接link思路题目中有提示,迭代,或者递归。c1.迭代一个个遍历原链表,然后将每一个值插在新链表最前面。/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */...原创 2019-09-02 18:55:18 · 92 阅读 · 0 评论 -
Leetcode219. Contains Duplicate II
文章目录链接思路pythonjavascript链接link思路貌似不是很难。让我想到了之前的一道题。这道题也可以用字典来解决。遍历数组中的元素,若字典中有这个值的键,那么判断距离是否小于k,若没有,那么值作为键,index作为值存储在字典中。不过貌似不是很聪明的亚子。而且这种方法不能应用在c语言上。pythonclass Solution: def containsNea...原创 2019-09-02 19:28:30 · 94 阅读 · 0 评论 -
Leetcode232. Implement Queue using Stacks
文章目录链接思路python1.2.javascript链接link思路emmmmm…貌似没啥难的吧?但是题中要求是用栈来实现。栈的特点是只能在一端进行所有操作。python1.不用栈class MyQueue: def __init__(self): """ Initialize your data structure here. ...原创 2019-09-03 21:35:58 · 81 阅读 · 0 评论 -
Leetcode560. Subarray Sum Equals K
文章目录链接思路hashmapjavascriptcpp链接link思路暴力解法,起点是每个数,终点是最后一个数。中途遇到符合结果的,结果+=1。这样做并不难。还有更高效的方法,就是hashmap。记录和的累加值。这样的话,就有两种情况是符合条件的。1.hashmap[sum] = target2.hashmap[sum - target]存在 (sum - (sum - tar...原创 2019-09-08 23:19:36 · 85 阅读 · 0 评论 -
Leetcode437. Path Sum III
文章目录链接思路链接link思路原创 2019-09-08 19:23:01 · 66 阅读 · 0 评论 -
c++拷贝构造函数学习笔记
文章目录写在前面笔记写在前面参考菜鸟教程笔记拷贝拷贝,顾名思义。主要用途:初始化:使用另一个同类型的对象来初始化新的对象复制对象,object->function传参复制对象,function->object返回定义:如果类里面没有定义,编译器自定义一个。但是若是有动态分配内存的部分,必须自定义。格式classname (const classname &...原创 2019-09-06 12:13:52 · 94 阅读 · 0 评论 -
Leetcode575. Distribute Candies
文章目录链接思路pythonjavascript链接link思路最多拿到多少种。可利用集合去除重复元素。pythonclass Solution: def distributeCandies(self, candies: List[int]) -> int: sum_ = len(candies) // 2 len_ = len(set(...原创 2019-09-04 16:30:46 · 95 阅读 · 0 评论 -
Leetcode371. Sum of Two Integers
文章目录链接思路pythonjavascript链接link思路计算加法,却不能用‘+’,‘-’首先想到能不能用二进制运算。异或是不进位的加法与 + 左移可以完成进位操作二者结合就可以完成运算了。python这里有一个神奇的地方——python有默认递归深度,所以会出现maximum recursion depth exceeded的报错而我目前还没有想打解决办法。java...原创 2019-09-04 16:18:07 · 129 阅读 · 0 评论 -
Leetcode349. Intersection of Two Arrays
文章目录链接思路pythonjavascript链接link思路求两个数组的交集。又想到了字典。依次遍历两个数组即可。找到公共元素,放在新数组里面。pythonclass Solution: def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: new = [] ...原创 2019-09-04 15:14:53 · 81 阅读 · 0 评论 -
Leetcode342. Power of Four
文章目录链接思路javascript1.2.python链接link思路感觉不难。就只要一直除4,看最后是否为1即可.这里需要考虑特殊情况0.注意,1也是4的幂次方。javascript1./** * @param {number} num * @return {boolean} */var isPowerOfFour = function(num) { if(nu...原创 2019-09-04 13:36:04 · 138 阅读 · 0 评论 -
Leetcode283. Move Zeroes
文章目录链接思路python1.2.链接link思路用c语言会很麻烦吧,可能还需要自己写一个或几个函数人生苦短,我用python遇到是0的元素直接删除,然后记录有多少个0.最后在数组后面加上就行。貌似不难。这里的坑就是,删除后数组会改变。以前遇到过这个问题。enumerate()函数的枚举对象虽然改变了,但是index++是不变的。所以会出现以下这种情况nums = [1,2,3,...原创 2019-09-03 23:54:06 · 69 阅读 · 0 评论 -
Leetcode263. Ugly Number
文章目录链接思路c1.2.pythonjavascript链接link思路首先要找到所有的素数因子,没找到一个判断是否为2,3,5中的一个,不是的话直接返回0.c1.bool isUgly(int num){ int i; while(num != 1){ i = 2; //找到一个素数因子 while(num % i)...原创 2019-09-03 22:32:45 · 115 阅读 · 0 评论 -
Leetcode125. Valid Palindrome
文章目录链接思路cpython1.2.3.链接link思路之前的思路是,先把不是字母数字的符号去掉,然后再将剩余的序列逆序,最后比较是否一致。但是感觉也不是很好操作。因为要删除c不知道数组长度,不会用python1.这里需要创建一个新的数组来储存,直接在原数组上del会有些麻烦,因为原数组改变了。class Solution: def isPalindrome(self...原创 2019-08-28 21:28:39 · 108 阅读 · 0 评论 -
Leetcode122. Best Time to Buy and Sell Stock II
文章目录链接思路cpython链接link思路完全没有思路。直接看讲解,结果不是我想的那么复杂啊,画个图很清晰明了。看来以后可以画个图之类的,更方便理解。cint maxProfit(int* prices, int pricesSize){ int sum = 0; int i; if(pricesSize == 0) { ...原创 2019-08-28 16:24:56 · 55 阅读 · 0 评论 -
python学习9
加油加油!争取暑假把书看完学了python的话,应该就能做很多想做的东西了吧哈哈哈函数listlist(序列)使用字符串来创建列表list(‘hello’)基本的列表操作1.修改列表赋值语句2.删除元素del语句3.给切片赋值(可通过赋空值的方法来删除)列表方法方法是与对象联系密切的函数object.method(arguments)1.append()将一个对象...原创 2019-08-02 21:55:27 · 59 阅读 · 0 评论 -
python学习8
注释#注释字符串+拼接字符串str转换为用户能看懂的字符串repr获得值的合法python表示长字符串1.’’’…’’’2."""…"""3.\原始字符串前缀r。。。太麻烦了啊傻傻分不清用到的时候再细究吧=============================================================列表和元组列表 可修改元组 ...原创 2019-08-02 20:33:08 · 60 阅读 · 0 评论 -
Python学习5
list和tuplelistlist里面元素数据类型可以不同list元素也可以是另外一个list格式:name=[,,]len()可以获得list元素的个数记住最后一个元素的索引是len(name)-1,以防止越界name[1]也可以name[-1]表示倒数第一个 /神奇的操作/添加元素格式:1.插入末尾name.append()2.插入指定位name.insert(1, )...原创 2019-07-04 20:28:42 · 112 阅读 · 0 评论 -
Python学习4
字符串和编码Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。原创 2019-07-04 19:16:53 · 76 阅读 · 0 评论 -
初学git进入
初学git前言学习总结知识点总结创建版本库repository前言emmmm第一次写博客,不懂规矩qaq。要是有大佬看到了请不要嘲讽orz。刚刚期末考完,想利用假期时间学一下python。在知乎上看到有一个github上的教程貌似不错,就注册了github账户,同时再学一下git的使用。于是就有了今天这篇博客。学习总结看着廖雪峰老师的教程来入门,中间卡主的地方在CSDN上找到了解决办法。...原创 2019-06-28 12:41:29 · 254 阅读 · 0 评论 -
SQL学习2
索引为什么?查找记录时,为了获得更快的速度,就要使用索引是什么?关系数据库中对某一个列或者多个列进行预排序的数据结构,通过使用索引,可以直接定位到符合条件的记录。加快查询速度创建索引ALTER TABLE studentsADD INDEX idx_name_score//名称随意 (name, score);//注意可以有多个索引,用“,”隔开即可索引的效率:该列的值越是互不相同,...原创 2019-07-02 15:47:51 · 72 阅读 · 0 评论 -
SQL学习1
前言为了准备大创项目而去学习SQL,按廖雪峰老师的课来学习。以下笔记是学习过程中自己觉得比较重要的一些总结。来帮助自己记忆,理清思路关系模型关系模型可看做很多Excel表,有所不同的是,关系数据库的表和表之间需要建立“一对多”,“多对一”,“一对一”的关系,以此来按照应用程序的逻辑来组织和存储数据。每一行为记录每一列为字段关系是通过主键和外键来维护的。主键任意两条记录不能重复,即可...原创 2019-07-02 15:27:11 · 57 阅读 · 0 评论 -
Python学习3
注释#开头为注释代码块:开头,缩进的为代码块数据类型整数浮点数就是小数可以用科学计数法表示1.23*10^9为1.23e9可能会有四舍五入的偏差字符串用‘’或者“”括起来的文本如果要输出‘’或者“”,可以用转义字符‘I’m “OK”!’print(’\\n\’)可以用'''...'''表示多行内容布尔值True和False表示布尔值注意大小写逻辑运算and...原创 2019-07-02 10:45:02 · 52 阅读 · 0 评论 -
Python学习2
python交互模式与命令行模式在Python交互式模式下,可以直接输入代码,然后执行,并立刻得到结果。在命令行模式下,可以直接运行.py文件。用文本编辑器写Python程序,然后保存为后缀为.py的文件,就可以用Python直接运行这个程序了Python的交互模式和直接运行.py文件有什么区别呢?直接输入python进入交互模式,相当于启动了Python解释器,但是等待你一行一行地输入...原创 2019-07-02 09:28:30 · 61 阅读 · 0 评论 -
python学习10
字符串format = “Hello, %s. %s enough for ya?”values = (‘world’, ‘Hot’)format % valuesHello, world. Hot enough for ya?原创 2019-08-03 13:46:00 · 58 阅读 · 0 评论 -
python学习11
字典列表:通过编号访问各个值字典:通过名称访问各个值目的:快速找到特定的键,获取其值键——值 为项字典的创建和使用items = {‘name’ : ‘Gumby’, ‘age’ : 42}items = [(‘name’, ‘Gumby’), (‘age’, 42)]d = dict(items)d = dict(name = ‘Gumby’, age = 42)...原创 2019-08-03 15:19:58 · 52 阅读 · 0 评论 -
python学习12
打印多个参数print(参数,参数+参数),转化为空格+不转化sep=‘分隔符’ end=‘结束字符串’原创 2019-08-05 11:58:06 · 58 阅读 · 0 评论 -
Leetcode121. Best Time to Buy and Sell Stock
文章目录链接cpython链接linkc感觉这道题的思路和53.Maximum Subarray有点类似,同样是找最大和最小,但是注意最大后出现,最小先出现,所以直接找的是差的最大。int maxProfit(int* prices, int pricesSize){ int max = 0; int i; if(pricesSize != 0) { ...原创 2019-08-28 11:57:07 · 82 阅读 · 0 评论 -
88. Merge Sorted Array
文章目录链接思路python第一版第二版c第一版参考https://github.com/liushiliushi/leetcode/blob/master/problems/88.merge-sorted-array.md链接link思路以前做过链表合并的问题,记得很麻烦的。python第一版很容易想到用python来做,直接将两个数组先合并再排序class Solution:...原创 2019-08-27 22:48:28 · 66 阅读 · 0 评论 -
Leetcode53. Maximum Subarray
文章目录链接思路c第一版第二版第三版第四版python第一版第二版参考link以及众多网友的回答写出来的学习笔记链接link思路暴力求解法,列举出所有可能的情况(最后在一组超大一坨数据的测试下time limit exceeded)前缀和c第一版暴力解法空间O(n^3)时间O(1)int maxSubArray(int* nums, int numsSize){ ...原创 2019-08-27 17:05:02 · 67 阅读 · 0 评论 -
leetcode26. Remove Duplicates from Sorted Array
文章目录链接python第一版第二版第三版c链接linkpython刚开始一看到题目,简直不要太开心。这不就是用集合处理一下就能去除重复元素吗?但是忘记集合是无序的。。。所以序列的元素不是按照原来的顺序排列的。不过再重新排一下就好啦~第一版class Solution: def removeDuplicates(self, nums) : a ...原创 2019-08-26 21:04:08 · 75 阅读 · 0 评论