leetcode解题思路分析(六十四)542 - 551 题

01矩阵给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。采用动态规划得解class Solution {public: vector<vector<int>> updateMatrix(vector<vector<int>>& matrix) { int m = matrix.size(), n = matrix[0].size(); // 初始化动.
分类: 其他 发布时间: 03-09 10:06 阅读次数: 0

leetcode解题思路分析(六十五)552 - 558 题

学生出勤记录2给定一个正整数 n,返回长度为 n 的所有可被视为可奖励的出勤记录的数量。 答案可能非常大,你只需返回结果mod 109 + 7的值。和1相反,这里需要输出所有可能性。由于A只能有一次,所以先考虑L和P然后加入A即可。考虑L和P,可以采用动态规划求解。dp[i][j][k],0<=i<=n-1,j=0/1,k=0/1/2表示长为i的、里面不包含/包含‘A‘的、以k个‘L‘结尾的、可奖励的出勤数量。dp[i]只与dp[i-1]有关,因此去掉维度i即可class Soluti.
分类: 其他 发布时间: 03-09 10:06 阅读次数: 0

leetcode解题思路分析(六十六)559 - 565 题

N叉树的最大深度给定一个 N 叉树,找到其最大深度。和二叉树并无区别,层次遍历即可,深度优先亦可/*// Definition for a Node.class Node {public: int val; vector<Node*> children; Node() {} Node(int _val) { val = _val; } Node(int _val, vector<Node*> _ch.
分类: 其他 发布时间: 03-09 10:06 阅读次数: 0

leetcode解题思路分析(六十七)566 - 572 题

重塑矩阵如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。没啥好说的,直接输出转换即可class Solution {public: vector<vector<int>> matrixReshape(vector<vector<int>>& nums, int r, int c) { int m = nums.size(); int n = nums[0]..
分类: 其他 发布时间: 03-09 10:05 阅读次数: 0

4. help、doc帮助与文档

%帮助与文档 (有时可能需要联网)%doc 函数 %可以查看函数的说明文档doc ifdoc switch%help 函数 %可以在命令行查看函数说明help if
分类: 其他 发布时间: 03-09 10:05 阅读次数: 0

1.1 桌面说明

1.此处的路径说明我们现在所在的文件夹位置。接下来所编写的代码,数据等文件都会存放在这个路径下,在当前文件夹中可以看到现有的文件。2. 编辑器:在编辑器中可以写代码3. 命令行:可以写命令、代码,也用于显示编写代码的运行结果4. 工作区:可以看到代码中的变量、值...
分类: 其他 发布时间: 03-09 10:05 阅读次数: 0

1.2 数据和变量

%%1.2数据和变量 2020.8.25%分号;逗号,省略号(三个英文句点)...sum = 3+6-8+... %当程序太长时用...换行。记得别跟在数字后面,这里易被认为8点几 5-2%数据显示格式:format short, format long, format rational,用于显示的精度不同format longpiformat shortpi%复数value = 3 + 4*ivalue = (3+4*i)/5*i%预定义变量(ma
分类: 其他 发布时间: 03-09 10:05 阅读次数: 0

1.3 数组及其运算

%%数组及其运算 2020.8.26 马玉华a = [1,2,3;4,5,6;7,8,9]%冒号运算:[x1:公差:x2]生成一维数组b = [10:2:50]%linspace(x1,x2,n) 生成x1到x2间的n个数的一维数组linspace(1,8,8)%size() 求矩阵大小size(b)%取出矩阵中的值a(2,3) %第2行第3列的值a(2,[1,2,3]) %第2行第1,2,3列的值a(2,:) %整行:整个第2行的值
分类: 其他 发布时间: 03-09 10:04 阅读次数: 0

1.4 字符串操作

%%字符串char, 元组cell, 结构(字典)structure 2020.8.26 马玉华%字符串a = '12'b = double(a) %将字符串中的每一个字符都转换为ASCII码c = char(49,50)d = str2num('12') %字符串转数字。2(two)谐音toclass(d)e = num2str(12) %数字转字符串class(e)%字符串切片f = 'abcd'f(1)f(1:3)%元组和结构暂且不讲%stru
分类: 其他 发布时间: 03-09 10:04 阅读次数: 0

2.1.1 分支语句if、switch, 循环语句for、while

%%分支语句if、switch, 循环语句for、while, 其他pause、break、return、error 2020.8.26 马玉华%if分支结构%if 条件% 执行语句%elseif 条件% 执行语句%else% 执行语句%endx = input('请输入x的值:') %会自动识别double和charif x<=10; y = cos(x)elseif x == 10 y = sqrt(x)else y = si
分类: 其他 发布时间: 03-09 10:04 阅读次数: 0

2.1.2 M函数文件

%%函数文件基本结构 2020.8.26 %function [返回值] = 函数名(输入变量)% 函数体语句function [c,d] = calculate(a,b) c = cos(a) d = sqrt(b)%当代码写完后保存,自动生成一个和函数名相同名字的函数文件 %调用:在命令行输入函数名就可以调用。示例:% [value1,value2] = calculate(10,20) %m脚本文件中调用:方法同上,但是需要函数文件和脚本文
分类: 其他 发布时间: 03-09 10:04 阅读次数: 0

2.1.3 函数重载nargin与nargout

函数文件:%%函数重载nargin与nargout (number argument input 输入变量数目,number argument output)%函数文件如下:function [sum,mean] = sum_mean(a,b)if nargin == 1 % 当输入变量为1个时,执行 sum = a ; mean = a;elseif nargin == 2 % 当输入变量为2个时,执行 sum = a + b ;
分类: 其他 发布时间: 03-09 10:03 阅读次数: 0

2.1.4 提高计算速度,使用数组(一维、多维)计算,避免for循环一个个计算元素

如何提高运算速度?使用数组进行运算!避免for循环。示例:计算一个分段函数f(x)= x² , x>1; 1 , -1<x<=1;3+2x , x<=-1对比计算时间:①for循环计算、②矩阵进行计算、脚本代码:%%使用数组(一维、多维)计算,提高计算速度,避免for循环一个个计算元素。%计算分段函数(piecewise function)f(x)= x² , x>1% 1 ,
分类: 其他 发布时间: 03-09 10:03 阅读次数: 0

python帮助和文档、希腊字母对照表

方法一:在python命令行输入help(查询的函数)help(range) # 详细方法二:print(range.__doc__) # 一般方法三:print(dir(range)) # 简略方法四:在pycharm中按住CTRL,用鼠标点击要查询的函数。...
分类: 其他 发布时间: 03-09 10:03 阅读次数: 0

python中for循环计算和矩阵计算速度对比、time计时方法

其实for循环花费时间很少!计算一个分段函数f(x)= x² , x>1; 1 , -1<x<=1;3+2x , x<=-1可参考在matlab中:https://blog.csdn.net/qq_43328166/article/details/108270104import timeimport numpy as npimport pandas as pd# 计时方法:# start1 = time.clock()# 函数# end1 = time.clock
分类: 其他 发布时间: 03-09 10:03 阅读次数: 0

numpy1.1: np.where用法、及其相似搜索清洗写法

'''numpy.where\及其相似搜索清洗方法2020.8.29'''# 用法1# np.where(condition,x,y) 满足条件,输出x,不满足输出y# 用法2# np.where(condition) 返回满足条件的元素坐标import numpy as nparr = np.arange(1,10,1).reshape(3,3)print(arr)# 用法1arr1 = np.where((8>=arr)&(arr&gt
分类: 其他 发布时间: 03-09 10:02 阅读次数: 0

twilio给自己发短信

使用python的twilio给自己发短信1.申请账号、虚拟电话号1.注册地址:https://www.twilio.comsign up, 人机验证,邮箱验证,验证接收短信的电话号码。获得自己的虚拟号码,获得账号2.pip install twilio# -*- coding: utf-8 -*-"""用于发送短信需要pip install twilio给自己发短信需要申请账号2020.8.29"""from twilio.rest import Client# Your Ac
分类: 其他 发布时间: 03-09 10:02 阅读次数: 0

2.1.5句柄函数、匿名函数

% 函数句柄:% fun = @ Mfun 这里的Mfun是函数的M文件表达方式fun0 = @calculatefun0(1,3)% 匿名函数(类似lambda函数):% fun = @(x)表达式fun1 = @(x) x^2 + sin(x+1)fun1(1)calculate函数文件为:function [cos_,sqrt_] = calculate(a,b)cos_ = cos(a)sqrt_ = sqrt(b)end...
分类: 其他 发布时间: 03-09 10:02 阅读次数: 0

2.2.1曲线图

% 曲线figure(1) % 建立幕布x_arr = [0:0.1:20*pi];y_arr = exp(-0.1*x_arr).*cos(x_arr);plot(x_arr,y_arr)% 三维曲线figure(2)z_arr = x_arr .* sin(x_arr);plot3(x_arr,y_arr,z_arr)% 三维曲面figure(3)x = [-2:0.1:2];y = x;[x,y] = meshgrid(x,y) %网格化自变量z = x .*
分类: 其他 发布时间: 03-09 10:02 阅读次数: 0

3.1本征值和线性方程组

% % 本征值与本征向量a = rand(3) % 产生一个3阶 随机矩阵,(0,1)之间随机分布% eig(a) 方阵a的特征值[eigen_vector,eigenvalue] = eig(a) % 本征向量,本征值。(本征=特征)% % 线性方程组disp(' 求解ax=b。具体为:x+2y=1,3x-2y=4 ') % 唯一解a = [1,2;3,-2];b = [1;4];disp('rank(a),rank([a,b]),求出系数矩阵、增广矩阵的秩,如果秩相等有解,
分类: 其他 发布时间: 03-09 10:01 阅读次数: 0