- 博客(24)
- 收藏
- 关注
原创 二分查找套路
二分查找套路二分查找思路很简单,细节是魔鬼int binary_search(int *nums, int n, int x) { int head = 0, tail = ...; while (...) { int mid = head + (tail - head) >> 1; if (nums[mid] == x) return ...; if (nums[mid] > x) head = ...; tail
2021-05-24 10:30:51 160
原创 198.打家劫舍
LeetCode 198 打家劫舍fun(n) = max(arr[n] + fun(n - 2), fun(n - 1))int max(int a, int b) { if (a > b) b = a; return b;}int rob(int* nums, int numsSize){ if (numsSize <= 0) return 0; if (numsSize == 1) return nums[numsSize - 1];
2021-05-21 17:52:38 136
原创 70.爬楼梯
LeetCode 70 爬楼梯int climbStairs(int n){ if (n == 0) return 0; if (n == 1) return 1; if (n == 2) return 2; if (n == 3) return 3; int arr[n + 1]; arr[1] = 1, arr[2] = 2, arr[3] = 3; for (int i = 4; i < n + 1; i++) { ar
2021-05-21 17:15:19 197
原创 198. 打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入:[2,7,9,3,
2021-05-15 23:47:25 105
原创 查找算法:哈希表
查找算法:二分查找:O(lg N) ,单调性(顺序表中查找)用数组下标索引来查找 O(1)arr[ ] 下标int ————> 任意类型数据 (映射)哈希表 任意类型数据 ————> 任意类型数据 (映射)哈希表是为了追求查找算法时间复杂度为O(1),仿用数组下标索引来查找设计哈希函数的作用:将任意类型的数据,映射成int,作为下标来存储数据哈希表:1. 需要一片连续的存储空间(顺序表、数组)2. size 空间大小3. 哈希函数
2021-05-09 19:47:48 206
原创 广义表转二叉树实现
// 广义表转二叉树#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct Node { char data; struct Node *lchild, *rchild;} Node;typedef struct Tree { Node *root; int length;} Tree;typedef struct Stack {
2021-05-06 15:13:33 312
原创 二叉树
// binary_tree// 二叉排序树 == 二叉查找树 的性质 lchild < root; rchild > root 中序遍历。从小到大 二叉树不会进行重复元素插入// 数据结构 = 定义了一种性质,并维护这种性质// shift + v 按行选中,y复制,p粘贴,不要在插入模式下#include <stdio.h>#include <stdlib.h>#include <time.h>typedef struct Node
2021-05-06 15:11:41 103
原创 栈实现
递归需要借助系统栈,超过8MB,栈溢出栈:一头开口,一头封闭,木桶;FILO:first in last out; LIFO last in first out栈的结构定义:一片连续的存储空间,容量大小size,栈顶指针(指向栈顶元素)top索引栈是解决具有完全包含关系的一类问题; +1 -1#include <stdio.h>#include <stdlib.h>#include <time.h>typedef struct Stack { .
2021-05-06 15:09:44 126
原创 顺序表队列
队列1.顺序表队列2.链表队列FIFO (first in first out ) 先进先出,先来先服务 (区别于顺序表的性质结构) 或者称 LILO (last in last out)线性结构,一片连续的内存空间,length 队列的容量大小、head、tail、count。出队,从队首出队。 判断队列是一个空队列empty()入队,从队尾队列编程实现两种方式:1.head指向第一个元素下标,tail指向最后一个元素的下标2.head指向第一个元素下标,tail指向最
2021-04-24 21:06:13 311
原创 链表实现
#include <stdio.h>#include <stdlib.h>#include <time.h>typedef struct Node { int data; struct Node *next;} Node;typedef struct List { Node head; //虚拟节点 int length;} List;Node *getNewNode(int);List *init_List();v
2021-04-20 13:49:23 131
原创 顺序表实现
顺序表 cat Vector.cpp#include <stdio.h>#include <stdlib.h>#include <time.h>#define COLOR(a, b) "\033[" #b "m" a "\033[0m"#define GREEN(a) COLOR(a, 32)typedef struct Vector { int *data; int size, length;} Vector;Vector *i
2021-04-20 13:48:27 143
原创 稳定排序(插入排序、冒泡排序、归并排序)
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>// 稳定的排序 插入排序InsertSort 冒泡排序BubbleSort 归并排序MergeSort// 默认均为从小到大#define swap(a,b) {\ a ^= b; b ^= a; a ^= b;\}#define TEST(arr, len, func, args...
2021-04-20 13:45:16 158
原创 二分查找实现
二分查找(折半查找)时间复杂度:O(logN), 以2为底前提:单调序列终止条件: head > tail循坏条件: head <= tail待查找元素:x描述:head指向头部,tail指向尾部,每次劈一半(扔掉)标准版二分查找#include <stdio.h># 实现在一个数组arr中查找元素x是否存在,数组长度为len,若找到x,返回x数组下标,否则返回-1int binary_search(int *arr, int len, int x) {
2021-04-20 11:33:39 165
原创 convmtx
A = convmtx(h,n)返回卷积矩阵A,n为标量,h为向量,A是以h来生成卷积矩阵。H = convmtx(h,n)给定一个列向量h,用matlab的convmtx生成卷积矩阵为H,H*x可以表示为h和x卷积的结果。h = [1 2 3 4 5 6]x = [1 0 1 0 2 3]y = conv(h,x) % h与x卷积>> 1 2 4 6 10 17 17 23 22 27 18Lh = length(h)H = convmtx(h,Lh)
2020-12-17 10:46:28 1718 1
原创 squeeze()----MATLAB
squeeze()squeeze函数用于删除矩阵中的单一维(删除维数为1的维度,但对二维矩阵无影响)X = rand(1,3,4) % 相当于有4张1x3的矩阵图squeeze(X)>> 输出为3x4的矩阵对二维的矩阵,行向量,列向量没有影响X = rand(1,3) squeeze(X)>> 输出仍为X若不含单一维度,则输出仍然不变X = rand(1,3,4) % 相当于有4张1x3的矩阵图squeeze(X)>> 输出为3x4的矩阵
2020-12-17 09:46:51 1860
原创 CVX工具箱安装----MATLAB
CVX是MATLAB中一个凸优化解决工具安 装:下载官方安装包http://cvxr.com/cvx/或者http://cvxr.com/cvx/beta/,解压缩到/matlab/bin路径。打开Matlab,切换路径到CVX的存放路径,Matlab中运行cvx_setup命令即完成安装。// 测试代码块m = 16;n = 8;A = randn(m,n);b = randn(m,1);cvx_begin variable x(n); minimize( nor
2020-12-16 19:36:37 3148
原创 2020-08-17
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)numpy.linspace(start, stop, num, endpoint=True, retstep=False, dtype=None)在指定的间隔内返回均匀间隔的数字np.linspace(2.0, 3.0, num=5)>>>array([ 2. , 2.25, 2.5 , 2.75, 3. ])
2020-08-17 17:58:01 135
原创 生成对抗网络生成手写数字图像
import argparseimport osimport numpy as npimport mathimport torchvision.transforms as transformsfrom torchvision.utils import save_imagefrom torch.utils.data import DataLoaderfrom torchvision import datasetsfrom torch.autograd import Variableimpor
2020-08-15 09:48:47 568
原创 2020-08-15
import osos.makedirs("images", exist_ok=False)# os.makedirs(name/path, mode=0o777, exist_ok=False/True )os.makedirs用来创建文件夹目录参数说明:name/path:你想创建的文件夹名或者文件名路径mode:要为目录设置的权限数字模式,默认的模式为 0o777 (八进制)。exist_ok:是否在目录存在时触发异常。如果exist_ok=False(默认值),则在目标目录已存在的
2020-08-15 09:08:39 191
原创 参数解析模块argparse
import mathimport argparse# 计算一个圆柱体的体积# 创建一个解析对象parserparser = argparse.ArgumentParser(description='Calculate volume of a Cylinder') #用来装载参数的容器# 添加命令行参数parser.add_argument('radius', type=int, help='Radius of Cylinder') # type=str是默认的parser.add_a
2020-08-15 07:27:38 294
原创 强化学习PPO
pythom笔记学习将字符串变为ASCII码 ord()symbols = ‘$¢£¥€¤’code = []for i in symbols: # 这里的i指的是symbols对象的引用 i = $# print(i)code.append(ord(i))print(code)列表推导symbols = ‘$¢£¥€¤’codes = [ord(i) for i in symbols]print(codes)symbols = ‘$¢£¥€¤’beyond_ascii = [
2020-08-01 15:20:33 262 1
原创 去混响WPE
“Generalization of Multi-Channel Linear Prediction Methods for Blind MIMO Impulse Response Shortening”, Takuya该论文使用子带域多通道线性预测滤波器对现有的去混响方法进行了概括,从而使所得的通用算法可以盲目地缩短一组未知数目的信号源与麦克风阵列之间的多输入多输出(MIMO)房间脉冲响应 。本文提出了一种利用盲处理方法来缩短一组未知数源和麦克风阵列之间的多输入多输出(MIMO)房间脉冲响应的算法,我
2020-08-01 15:08:45 2164
原创 流畅的Python之序列类型
Python之序列类型序列类型:list 、tuple、str、array.array、collections.deque、bytes、bytearray、memoryview容器序列(能够存放不同类型的数据):list、tuple 、 collections.deque扁平序列(仅能容纳一种类型的序列):str、bytes、bytearray、memoryview 、 array.array.容器序列存放的是它们所包含的任意类型的对象的引用,而扁平序列里存放的是值而不是引用。换句话说,扁平序列其
2020-07-31 14:57:28 245
原创 深度学习笔记本环境配置
1. Anaconda安装Anaconda3-2020.02-Windows-x86_64.execonda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_ur
2020-07-31 11:16:18 1003
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人