- 博客(38)
- 收藏
- 关注
原创 Leetcode 贪心算法(四)
452. 用最少数量的箭引爆气球力扣题目链接class Solution {public: static bool cmp(const vector<int> a, const vector<int>& b){ return a[0] < b[0]; } int findMinArrowShots(vector<vector<int>>& points) { if(points
2022-04-02 09:31:22 105
原创 Leetcode 贪心算法(三)
134. 加油站力扣题目链接class Solution {public: int canCompleteCircuit(vector<int>& gas, vector<int>& cost) { int curSum = 0; int min = INT_MAX; for(int i = 0; i < gas.size(); i++){ int rest = gas[i]
2022-03-30 14:21:37 92
原创 Leetcode 队列(一)
20. 有效的括号力扣题目链接class Solution {public: bool isValid(string s) { stack<int> st; for(int i = 0; i < s.size(); i++){ if(s[i] == '(') st.push(')'); else if(s[i] == '{') st.push('}'); else i
2022-03-29 11:17:48 1299
原创 Leetcode 贪心算法(二)
122. 买卖股票的最佳时机 II力扣题目链接class Solution {public: int maxProfit(vector<int>& prices) { int result = 0; for(int i = 1; i < prices.size(); i++){ result += max(prices[i] - prices[i - 1], 0); } retur
2022-03-29 08:56:43 67
原创 Leetcode 贪心算法(一)
455. 分发饼干力扣题目链接class Solution {public: int findContentChildren(vector<int>& g, vector<int>& s) { sort(g.begin(), g.end()); sort(s.begin(), s.end()); int index = s.size() - 1; int result = 0;
2022-03-28 15:08:58 661
原创 Leetcode 回溯算法(四)
51. N 皇后力扣题目链接class Solution {public: vector<vector<string>> result; void backtracking(int n, int row, vector<string>& chessboard){ if(row == n){ result.push_back(chessboard); return;
2022-03-26 16:34:57 1272
原创 Leetcode 回溯算法(三)
90. 子集 II力扣题目链接class Solution {public: vector<vector<int>> result; vector<int> path; void backtracking(vector<int>& nums, int startIndex, vector<bool>& used) { result.push_back(path); for
2022-03-25 15:05:10 758
原创 Leetcode 回溯算法(二)
39. 组合总和力扣题目链接class Solution {public: vector<vector<int>> result; vector<int> path; void backtracking(vector<int>& candidates, int target, int sum, int startIndex) { if(sum > target) return;
2022-03-25 14:54:51 62
原创 Leetcode 动态规划(三)
416. 分割等和子集力扣题目链接class Solution {public: bool canPartition(vector<int>& nums) { int sum = 0; vector<int> dp(10001, 0); for(int i = 0; i< nums.size(); i++) sum += nums[i]; if(sum % 2 == 1) return
2022-03-24 16:22:43 67
原创 Leetcode 动态规划(二)
62. 不同路径力扣题目链接class Solution {public: int uniquePaths(int m, int n) { vector<vector<int>> dp(m, vector<int>(n, 0)); for(int i = 0; i < m; i++) dp[i][0] = 1; for(int j = 0; j < n; j++) dp[0][j] = 1;
2022-03-23 17:26:11 54
原创 Leetcode 二叉树(五)
701. 二叉搜索树中的插入操作力扣题目链接class Solution {public: TreeNode* parent; void traversal(TreeNode* cur, int val){ if(cur == NULL){ TreeNode* node = new TreeNode(val); if(val > parent->val) parent->right = node;
2022-03-16 09:46:38 53
原创 Leetcode二叉树(四)
617. 合并二叉树力扣题目链接class Solution {public: TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) { if(root1 == NULL) return root2; if(root2 == NULL) return root1; TreeNode* root = new TreeNode(0); root->val = roo
2022-03-14 20:53:59 1418
原创 Leetcode 二叉树(三)
404. 左叶子之和力扣题目链接class Solution {public: int sumOfLeftLeaves(TreeNode* root) { if(root == NULL) return 0; int leftValue = sumOfLeftLeaves(root->left); int rightValue = sumOfLeftLeaves(root->right); int midValu
2022-03-14 18:44:59 64
原创 Leetcode 二叉树(二)
101. 对称二叉树力扣题目链接class Solution {public: bool compare(TreeNode* left, TreeNode* right){ if(left == NULL && right == NULL) return true; if(left != NULL && right == NULL) return false; if(left == NULL &&a
2022-03-12 11:48:37 1388
原创 Leetcode 动态规划(一)
509. 斐波那契数力扣题目链接class Solution {public: int fib(int n) { if(n < 2) return n; int dp[2]; dp[0] = 0; dp[1] = 1; for(int i = 2; i <= n; i++){ int sum = dp[0] + dp[1]; dp[0] = dp[1]
2022-03-02 19:14:55 187
原创 Leetcode 回溯算法(一)
回溯算法模板框架void backtracking(参数) { if (终止条件) { 存放结果; return; } for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) { 处理节点; backtracking(路径,选择列表); // 递归 回溯,撤销处理结果 }}77. 组合力扣题目链接class Solution {private: vector&
2022-03-01 17:01:19 176
原创 Leetcode 字符串(一)
344. 反转字符串力扣题目链接class Solution {public: void reverseString(vector<char>& s) { int n = s.size(); for(int left = 0, right = n - 1; left <= right; left++, right--){ int tmp = s[left]; s[left] = s[rig
2022-02-27 21:44:58 57
原创 Leetcode 二叉树(一)
144. 二叉树的前序遍历力扣题目链接class Solution {public: vector<int> result; vector<int> preorderTraversal(TreeNode* root) { if(root == NULL) return result; result.push_back(root->val); preorderTraversal(root->left);
2022-02-26 17:21:43 57
原创 Leetcode 数组(一)
704. 二分查找力扣题目链接class Solution {public: int search(vector<int>& nums, int target) { int left = 0; int right = nums.size() - 1; while(left <= right){ int middle = left +(right - left) / 2; i
2022-02-26 16:18:16 177
原创 Leetcode 哈希表(一)
242. 有效的字母异位词力扣题目链接class Solution {public: bool isAnagram(string s, string t) { int record[26] = {0}; for(int i = 0; i < s.size(); i++){ record[s[i] - 'a']++; } for(int i = 0; i < t.size(); i++){
2022-02-24 14:17:31 321
原创 Leetcode 链表(一)
203. 移除链表元素力扣链接题目class Solution {public: ListNode* removeElements(ListNode* head, int val) { ListNode* dummyHead = new ListNode(0); dummyHead->next = head; ListNode* cur = dummyHead; while(cur->next != NULL){
2022-02-23 15:20:04 52
原创 数据科学库——pandas
为什么要学习pandasnumpy能够帮助我们处理数值,但是pandas除了处理数值之外(基于numpy),还能够帮助我们处理其他类型的数据Series创建Series 一维,带标签数组(索引)DataFrame 二维,Series容器import pandas as pdt1 = pd.Series([1,2,31,12,3,4])print(t1)print(type(t1))t2 = pd.Series([1,2,31,12,3,4],index=list("abcdef
2021-08-10 20:51:04 47
原创 数据科学库——numpy中的随机方法
#coding = urf-8import numpy as npus_data = "./youtube_video_data/US_video_data_numbers.csv"uk_data = "./youtube_video_data/UK_video_data_numbers.csv"#加载国家数据us_data = np.loadtxt(us_data, delimiter=",", dtype=int)uk_data = np.loadtxt(uk_data, delimit
2021-08-08 12:51:18 142
原创 数据科学库——numpy读取本地数据
轴在numpy中可以理解为方向,使用0,1,2…数字表示,对于一个一维数组,只有一个0轴,对于2维数组(shape(2,2)),有0轴和1轴,对于三维数组(shape(2,2, 3)),有0,1,2轴numpy读取数据CSV:Comma-Separated Value,逗号分隔值文件显示:表格状态源文件:换行和逗号分隔行列的格式化文本,每一行的数据表示一条记录np.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols
2021-07-26 20:45:15 184
原创 数据科学库——numpy数组
数据类型的操作import numpy as npimport randomt1 = np.array([1,2,3])print(t1)print(type(t1))t2 = np.array(range(10))print(t2)print(type(t2))t3 = np.arange(4,10,2)print(t3)print(type(t3))print(t3.dtype)print("*"*100)#numpy中的数据类型t4 = np.array(ran
2021-07-22 22:27:55 52
原创 数据科学库——matplotlib常用统计图
绘制散点图from matplotlib import pyplot as pltfrom matplotlib import font_managermy_font = font_manager.FontProperties(fname="System/Library/Fonts/Hiragino Sans GB.ttc")y_3 = [11, 17, 16, 11, 12, 11, 12, 6, 6, 7, 8, 9, 12, 15, 14, 17, 18, 21, 16, 17, 20, 1
2021-07-21 22:54:14 245
原创 数据科学库——matplotlib
matplotlib优点能将数据进行可视化,更直观的呈现使数据更加客观、更具说服力matplotlib基本要点from matplotlib import pyplot as plt x = range(2, 26, 2)#数据在x轴的位置,是一个可迭代对象y = [15, 13, 14.5, 17, 20, 25, 26, 26, 24, 22, 18, 15]#数据在y轴的位置,是一个可迭代对象#x轴和y轴的数据一起组成了所有要绘制出的坐标#分别是(2,15),(4,13),(6
2021-07-19 23:06:05 101
原创 Python基础知识学习——Day11
模块化编程的流程设计 API,进行功能描述。编码实现 API 中描述的功能。在模块中编写测试代码,并消除全局代码。使用私有函数实现不被外部客户端调用的模块函数。"""本模块用于计算公司员工的薪资"""company = "北京尚学堂" def yearSalary(monthSalary): """根据传入的月薪,计算出年薪""" passdef daySalary(monthSalary): """根据传入的月薪,计算出每天的薪资""" passimport 语
2021-07-18 20:19:31 72
原创 Python基础知识学习——Day10
文本文件和二进制文件文本文件文本文件存储的是普通“字符”文本,python 默认为 unicode 字符集(两个字节表示一个字符,最多可以表示:65536 个),可以使用记事本程序打开。但是,像 word 软件编辑的文档不是文本文件。二进制文件二进制文件把数据内容用“字节”进行存储,无法用记事本打开。必须使用专用的软件解码。创建文件对象 open()open()函数用于创建文件对象,基本语法格式如下:open(文件名[,打开方式])基本的文件写入操作文本文件的写入一般就是三个步骤:
2021-07-16 22:58:44 109
原创 Python基础知识学习——Day9
异常机制本质异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。python 中一切都是对象,异常也采用对象的方式来处理。处理过程:抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给解释器。捕获异常:解释器得到该异常后,寻找相应的代码来处理该异常。异常解决的关键:定位当发生异常时,解释器会报相关的错误信息,并会在控制台打印出相关错误信息。try…一个 except
2021-07-14 21:33:38 152
原创 Python基础知识学习——Day8
方法没有重载Python 中,方法的的参数没有声明类型(调用时确定参数的类型),参数的数量也可以由可变参数控制。因此,Python 中是没有方法的重载的。定义一个方法即可有多种调用方式,相当于实现了其他语言中的方法的重载。如果我们在类体中定义了多个重名的方法,只有最后一个方法有效。#Python 中没有方法的重载。定义多个同名方法,只有最后一个有效class Person: def say_hi(self): print("hello") def say_hi(self,name):
2021-07-13 21:56:44 104
原创 Python基础知识学习——Day7
嵌套函数在函数内部定义的函数#测试嵌套函数的定义def f1(): print('f1 running...') def f2(): print('f2 running...') f2()f1()nonlocal 关键字nonlocal 用来声明外层的局部变量global 用来声明全局变量#测试nonlocal、global 关键字的用法a = 100def outer(): b = 10 def inner(): nonlocal b #声明外部
2021-07-12 21:43:48 60
原创 Python基础知识学习——Day6
函数也是对象,内存底层分析Python 中,“一切都是对象”。实际上,执行def 定义函数后,系统就创建了相应的函数对象。def print_star(n): print("*"*n)print(print_star)print(id(print_star))c = print_starc(3)变量的作用域(全局变量和局部变量)全局变量:在函数和类定义之外声明的变量。作用域为定义的模块,从定义位置开始直到模块结束。全局变量降低了函数的通用性和可读性。应尽量避免全局变量的使
2021-07-11 01:08:28 892
原创 Python基础知识学习——Day5
for 循环和可迭代对象遍历for x in (20,30,40): print(x*3)可迭代对象Python 包含以下几种可迭代对象:序列字典迭代器对象生成器函数文件对象#遍历字符串中的字符for x in "sxt001": print(x)#遍历字典d = {'name':'gaoqi','age':18,'address':'西三旗001 号楼'}for x in d: #遍历字典所有的key print(x)for x in d.keys():#遍历字典
2021-07-07 21:42:36 129
原创 Python基础知识学习——Day4
字典字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含:“键对象”和“值对象”。字典的创建#通过{}、dict()来创建字典对象>>> a = {'name':'gaoqi','age':18,'job':'programmer'}>>> b = dict(name='gaoqi',age=18,job='programmer')>>> a = dict([("name","gaoqi"),("age",18)])
2021-07-01 22:59:45 141
原创 Python基础知识学习——Day3
列表python中常用的序列结构有:字符串、列表、元组、字典、集合创建列表>>> a = list() #创建一个空的列表对象入代码片>>> list(range(3,15,2)) #range()可以帮助我们非常方便的创建整数列表 range([start,] end [,step])[3, 5, 7, 9, 11, 13]>>> a = [x*2 for x in range(5)] #循环创建多个元素&g
2021-06-30 22:25:09 67
原创 Python基础知识学习——Day2
链式赋值用于同一个对象赋值给多个变量x=y=123 相当于 x=123;y=123系列解包赋值数据赋值给对应相同个数的变量(个数必须保持一致)a,b,c=4,5,6 相当于 a=4;b=5;c=6常量python不支持常量,即没有语法规则限制改变一个常量的值运算符/ 浮点数除法 8/2 4.0// 整数除法 7/2 3不同进制0b或0B,二进制0o或0O,八进制0x
2021-06-29 22:21:17 71
原创 Python基础知识学习——Day1
注释单行注释‘’‘ ’‘’多行注释变量位置变量位于:栈内存对象位于:堆内存 #奥运五环的python代码import turtleturtle.width(10)turtle.color('blue')turtle.circle(50)turtle.penup()turtle.goto(120,0)turtle.pendown()turtle.color('black')turtle.circle(50)turtle.penup()turtle.goto(2
2021-06-28 21:55:28 75
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人