- 博客(28)
- 资源 (3)
- 收藏
- 关注
原创 从零开始用Python实现深度学习框架
《深度学习入门2 自制框架》 笔记(深度学习底层三部曲的第三部)最大特点就是不利用任何已有深度学习框架,完全用python及一些常用的numpy等库实现所有代码
2024-09-07 14:19:43 131
原创 从零开始用Python实现神经网络及训练
《深度学习入门 基于Python的理论和实践》 笔记(深度学习底层三部曲的第一步)最大特点就是不利用任何深度学习框架,完全用python及一些常用的numpy等库实现所有代码
2024-09-05 19:31:46 792
原创 [Datawhale X 李宏毅苹果书 AI夏令营] (入门) (书前两章)
Datawhale X 李宏毅苹果书 AI夏令营 入门部分,对应苹果书前两章
2024-08-27 20:36:13 212
原创 [Datawhale X 李宏毅苹果书 AI夏令营] (进阶) (书第三/四/五/六/七章)
2024的Datawhale夏令营 深度学习进阶task1 task2,对应苹果书第三章
2024-08-27 11:31:37 541
原创 2019三月PAT甲级 7-4 Structure of a Binary Tree
7-4Structure of a Binary Tree(30分)Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, a binary tree can be uniquely det...
2019-08-23 18:15:57 366
原创 2019三月PAT甲级 7-2 Anniversary
7-2Anniversary(25分)Zhejiang University is about to celebrate her 122th anniversary in 2019. To prepare for the celebration, the alumni association (校友会) has gathered the ID's of all her alumni. N...
2019-08-23 18:14:26 181
原创 2019三月PAT甲级 7-1 Sexy Primes
7-1Sexy Primes(20分)Sexy primes are pairs of primes of the form (p,p+6), so-named since "sex" is the Latin word for "six". (Quoted fromhttp://mathworld.wolfram.com/SexyPrimes.html)Now given an...
2019-08-23 18:12:44 280
原创 763. Partition Labels(Greedy, two pointers)
这题用贪心很完美!非常简洁清晰 unordered_map<char, int> mp; vector<int> partitionLabels(string S) { vector<int> ret; //建立map,存放每个字符最后一次出现位置 for(int i=0; i<S.siz...
2019-04-11 16:52:25 114
原创 LeetCode141. Linked List Cycle (two pointers)
这道题用two pointers的方法也很巧妙,用一个slow pointer一次移动一步,一个fast pointer一次移动两步,如果有环,那么最终fast会和slow会和(用个简单例子比划下),如果没会和前fast或fast->next就到达了终点NULL,那么必是无环链表。这样能让空间复杂度是O(1)naive的想法是用hash table储存所有已经访问过的节点 b...
2019-04-11 11:53:43 107
原创 LeetCode283. Move Zeroes (two pointers)
如果不看tag肯定想不到可以用two pointers很快很巧妙的做出来!最开始的navie想法void moveZeroes(vector<int>& nums) { //delte all zeroes and then add back at the end int cnt = 0; for (auto it = nums.begin()...
2019-04-10 22:05:55 117
原创 LeetCode804. Unique Morse Code Words
我的想法是建立一个从单个字符到摩尔码的map,这样对所有words里单词直接映射得到相应摩尔码,再全部插入一个set中就自动去重了。(注意char到string要经过转换) int uniqueMorseRepresentations(vector<string>& words) { vector<string> code = ...
2018-12-06 11:44:02 118
原创 LeetCode217. Contains Duplicate
我的办法将元素不断插入一个集合,对新元素如果集合中已存在,就返回true。(最初naive想法遍历一遍元素,对每个新元素看看该元素前面部分序列是否已存在该元素,但这样太慢了) bool containsDuplicate(vector<int>& nums) { if(nums.size() <= 1) retu...
2018-12-03 20:53:40 110
原创 LeetCode169. Majority Element
开始更多借助STL的力量。 int majorityElement(vector<int>& nums) { vector<int> elem; vector<int> time; //elem存储元素值,time在elem相同下标位置处存储出现次数 for (auto iter = nums...
2018-12-03 20:15:29 95
原创 LeetCode485. Max Consecutive Ones
遍历一遍vector,max_seq 记录历史最长全1子串,count记录新全1子串 int findMaxConsecutiveOnes(vector<int>& nums) { int max_seq = 0; int count = 0; for (int i = 0; i < nums.siz...
2018-12-03 15:30:52 133
原创 LeetCode896. Monotonic Array
我直接写了一个判断是否单调不增或单调不减的函数,然后直接调用。 bool isIncreasing(vector<int>& A) { for(int i = 0; i < A.size()-1; ++i) if(A[i] > A[i+1]) return false; ...
2018-12-03 14:54:12 142
原创 LeetCode566. Reshape the Matrix
如果要返回的matrix元素个数与原先不同,直接返回。 否则遍历一遍原matrix, 重新组装成一个新的行列数的matrix vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) { int pr = nums...
2018-12-03 14:28:23 158
原创 LeetCode766. Toeplitz Matrix
思路比较简单,从第二行第二列起开始遍历, 如果matrix[row][col] != matrix[row - 1][col - 1](也即当前元素不等于起对角线上元素),就不是ToeplitzMatrix bool isToeplitzMatrix(vector<vector<int>>& matrix) { int max_...
2018-12-03 13:57:11 150
原创 LeetCode867. Transpose Matrix
翻转矩阵,遍历一遍原矩阵,然后行列顺序交换着将元素插入一个新矩阵。class Solution {public: vector<vector<int>> transpose(vector<vector<int>>& A) { int maxrow = A.size(); int maxcol =...
2018-12-02 10:26:13 100
原创 LeetCode561. Array Partition I
我的做法是先排序,然后取偶数位之和。因此感觉大部分都是在写归并排序。typedef size_t Rank;void merge(vector<int>& vec, Rank first, Rank mid, Rank last) //vec[first, mid), vec[mid, last)都已拍好序,归并{ vector<int> A...
2018-12-02 09:51:37 95
原创 LeetCode832. Flipping an Image
题意简单,翻转图像,写个翻转每一行(一个vector)的函数,然后Image每一行调用即可。 void flipAndInvertRow(vector<int>& vec) { size_t size = vec.size(); for (size_t i = 0; i<int(size / 2); ++i) ...
2018-12-02 00:55:57 124
原创 LeetCode922. Sort Array By Parity II
这题我简单的借鉴905. Sort Array By Parity 的想法那两个vector临时存储even和odd再合并,可惜这样就慢了,88ms(43%) vector<int> sortArrayByParityII(vector<int>& A) { size_t size = A.size(); vector&...
2018-12-02 00:35:12 125
原创 LeetCode905. Sort Array By Parity
我的解法,不用额外空间,p从头开始跳过偶数捕捉奇数,q从尾开始跳过奇数捕捉偶数,捕捉到就交换,知道p<q不再满足。 vector<int> sortArrayByParity(vector<int>& A) { int p = 0; int q = A.size() - 1; while (true...
2018-12-02 00:15:43 112
原创 pandas read_csv遇到的一个小问题
今天pd.read_csv时出了OSError: Initializing from file failed,网上给出各种原因,有文件名不对(中文或其他奇怪字符)等,但我这都没用,最后发现我的csv文件居然是write protect的,修正之后就顺利read进去了~~看样子pd.read_csv出现问题的原因真是多种多样啊...
2018-10-01 21:45:04 459
原创 LeetCode 50.Pow(x, n) python解法
题目:Implement pow(x, n).两个简化运算的地方,一是递归计算,而是提取出x^2计算class Solution: def myPow(self, x, n): """ :type x: float :type n: int :rtype: float """ if(n==0):...
2018-04-04 14:46:47 1037
原创 LeetCode 258-Add Digits python 解法
258. Add Digits题目:Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.For example:Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 ha...
2018-04-04 13:49:50 283
原创 数据结构与算法python语言实现-单链表实现
使用python实现一个简单单链表,头/尾添加/删除元素,查找满足一定条件(任意定义的条件)的元素,遍历对每个元素实行一种操作(任意定义的操作),迭代器一样的访问链表##代码部分###自定义一种错误类型class LinkedListUnderflow(ValueError): pass#定义链表节点类class LNode: def __init__(self, el...
2018-04-03 14:02:12 1656 1
原创 python入门-numpy
一.调取包import numpy as np二.数组基本操作#初始化a = np.array([1,2,3])b = np.array([[1,2,3],[4,5,6]])c = np.array([1,2,3],dtype=np.int64) #指定数据类型的初始化#像list那样索引a[0],切片type(a) #numpy.ndarray 数组a的类型a.dtype #数...
2018-03-23 10:56:05 362
原创 python入门-容器
1.list 列表# 初始化列表li = [1, 2, 3, 'abc', 4.5, [2, 3, 4], {1:'one'}] #可以是任意元素#还有元组比如 li=(1,2,3) 只能写不能读# 获取长度print(len(li))print('') #空一行# 根据索引读写print(li[0])print(li[-1])#-1索引表示倒数第一个(其实是表示len(li)-1)# 添加...
2018-03-22 23:04:47 451
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人