自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除