- 博客(34)
- 收藏
- 关注
原创 Windows批量复制文件copy命令bat批处理文件
如果需要复制很多文件,手动肯定是累死人的。我们可以使用后缀为.bat的批处理文件,双击运行。自己写一个.bat就好了import jsonwith open('long_answer_example_subval.json', 'r') as input: a = json.load(input)#一个包含文件名字的字典o = open('cmd.txt','w')#...
2020-04-29 16:25:04 5860
原创 LeetCode 587. 安装栅栏【凸包算法】【C++】【很多坑】
凸包算法不难理解,写代码的时候主要是几何上的判定条件很容易写错。算法的总体思想是:1.给所有的点排序,找出极点(纵坐标最小的点,如果纵坐标一样,取横坐标最小的点)2.除了极点之外,所有其他的点排序,排序的方式是与极点之间的夹角从小到大(如果夹角一样大,取距离极点近的排在前面)3.把极点和第二个点放进栈,判断第三个点是否在这两个点的左边,如果在左边,进栈,否则,让第二个点出栈,一直进...
2020-04-29 11:49:58 296
原创 python数组中append与extend的区别
append添加一个单独的元素到数组的末尾,数组长度增加1my_list = ['geeks', 'for'] my_list.append('geeks') print my_list ['geeks', 'for', 'geeks']my_list = ['geeks', 'for', 'geeks'] another_list = [6, 0, 4, 1] my...
2020-04-27 11:41:57 354
原创 Git - 本地仓库重新设置源
git commit -m "Change repo." # 先把所有为保存的修改打包为一个commitgit remote remove origin # 删掉原来git源git remote add origin [YOUR NEW .GIT URL] # 将新源地址写入本地版本库配置文件git push -u origin master # 提交所有代码...
2020-04-23 14:39:45 1367
原创 Attention Is All You Need总结
非常著名的Transformer一句话总结:替代传统的序列转化模型,只用attention(不使用rnn/cnn),可以并行化训练;Attention机制在输入和输出序列中都不会受距离的影响抛弃循环recurrence模型,只用attention,抽取输入和输出序列之间的全局依赖关系(全局语义信息)传统的优化方法:1. 计算量(指数增长) 2. 远距离依赖仍然无法捕捉Transfo...
2020-04-22 17:48:56 345
原创 用Android Studio写一个聊天软件(聊天室)
首先要了解四大组件的概念:Android 开发的四大组件分别是:活动Activity 是提供界面 (UI) 的一种应用组件;服务(service),后台运行服务,不提供界面呈现;广播接收器(Broadcast Receiver),用于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据(共享数据),相当于数据库。app > java > com...
2020-04-21 14:09:37 9891
原创 LeetCode剑指Offer面试题05. 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000char* replaceSpace(char* s){ int n = strlen(s),num_char=0,num_space=0;...
2020-04-20 16:52:37 226
原创 Android第一行代码
虽然大家对这本书评价很好,但是我觉得一开头看那么多知识不适合我。学习最快的方式就是上手:https://developer.android.com/training/basics/firstapp这边的教程直接就能教你把丑丑的只有按钮的界面安装到手机上,当然按下去按钮没反应,但是这样学起来还是很有成就感!...
2020-04-20 16:23:40 356
原创 binary_cross_entropy_with_logits的PyTorch实现
参考链接需要的包import torchimport torch.nn as nnimport torch.nn.functional as F模拟的输入x变量:4分类问题batch_size, n_classes = 10, 4x = torch.randn(batch_size, n_classes)x.shapex维度torch.Size([10, 4]...
2020-04-20 12:59:08 6715 1
原创 极大似然估计四个步骤
极大似然估计参数估计的四个步骤(1) 写出似然函数;(2) 对似然函数取对数,并整理;(3) 求导数 ;(4) 解似然方程 。极大似然估计的概念极大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。极大似然估计是建立在这样的...
2020-04-20 12:46:05 24993
原创 基础知识中薄弱的地方
多线程:条件变量的接口多了一个锁二元信号量不需要这个锁红黑树比较重要,STL中map的实现,而unordered_map是哈希充分利用排序机制,树高与AVL树的区别,搜索的时间复杂度?堆排序从中间节点从上往下会破会堆结构循环引用 A和B是智能指针,互相持有,会引起内存泄漏类似于死锁,需要打破循环引用链,weak_ptr多线程使用的场景。...
2020-04-19 09:20:59 666
原创 nohup后台运行scp传输巨量文件必备
参考博客nohup scp user@server:path/file localpath 输入密码 按Ctrl+z挂起当前进程 使用命令bg让挂起的进程继续运行如截图所示,先输了nohupscp,然后输了密码,输密码之后换行不输出东西,这时候ctrl+Z,然后输入bg检查有没有在传,ls|wc-l就是数个数,在增加检查有没有传完,使用lc | wc -l判断是否一致...
2020-04-18 12:42:57 2327
原创 ubuntu下的pdf转化与合并工具
将图片转换成pdfconvert a.png a.pdf合并工具pdftk安装sudo apt-get install pdftk合并三个pdfpdftk 1.pdf 2.pdf 3.pdf output o.pdf
2020-04-17 17:03:49 721
原创 计算机网络实验一 完整TCP/UDP协议 服务端客户端代码
实验报告完整代码如下:// UDP_server.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include "pch.h"#include <iostream>#include <winsock2.h>#include <stdio.h>#include <stdlib.h>#includ...
2020-04-15 13:10:04 669
原创 剑指offer两个面试案例 把字符串转换成整数 树中两个节点的最低公共祖先
案例一:面试题49把字符串转换成整数案例二:面试题50树中两个节点的最低公共祖先题目:输入两个树节点,求它们的最低公共祖先。1.如果是二叉搜索树,二叉搜索树是排序过的,位于左子树的节点都比父节点小,位于右子树的节点都比父节点大。我们只需要从树的根节点开始和两个输入的节点进行比较。如果当前节点的值比两个节点的值都大,最低公共祖先一定在当前节点的左子树中,下一步遍历...
2020-04-13 17:14:23 96
原创 编程之美:求二叉树中节点的最大距离
1.问题描述写一个程序求一棵二叉树相距最远的两个节点之间的距离如下图:2.分析与解法对于任意一个节点,以该节点为根,假设这个根有k个孩子节点,那么距离最远的两个节点U与V之间的路径与这个根节点的关系有两种。1)若路径经过Root,则U和V是属于不同子树的,且它们都是该子树中到根节点最远的节点,否则跟它们的距离最远相矛盾2)如果路径不经过Root,那么它们一定属于根的...
2020-04-13 11:12:06 330
原创 《C++ Primer》阅读笔记(九)顺序容器
第9章 顺序容器顺序容器概述(Overview of the Sequential Containers)顺序容器类型:类型 特性 vector 可变大小数组。支持快速随机访问。在尾部之外的位置插入/删除元素可能很慢 deque 双端队列。支持快速随机访问。在头尾位置插入/删除速度很快 list 双向链表。只支持双向顺序访问。在任何位置插入/删除...
2020-04-12 22:23:02 241
原创 《C++ Primer》阅读笔记(八)IO库
第8章 IO库部分IO库设施:istream:输入流类型,提供输入操作。 ostream:输出流类型,提供输出操作。 cin:istream对象,从标准输入读取数据。 cout:ostream对象,向标准输出写入数据。 cerr:ostream对象,向标准错误写入数据。 >>运算符:从istream对象读取输入数据。 <<运算符:向ostream对象写入...
2020-04-12 22:10:26 156
原创 《C++ Primer》阅读笔记(七)类
第7章 类类的基本思想是数据抽象(data abstraction)和封装(encapsulation)。数据抽象是一种依赖于接口(interface)和实现(implementation)分离的编程及设计技术。类的接口包括用户所能执行的操作;类的实现包括类的数据成员、负责接口实现的函数体以及其他私有函数。定义抽象数据类型(Defining Abstract Data Types)设计...
2020-04-12 22:01:35 186
原创 《C++ Primer》阅读笔记(六)函数
第6章 函数函数基础(Function Basics)典型的函数定义包括返回类型(return type)、函数名字、由0个或多个形式参数(parameter,简称形参)组成的列表和函数体(function body)。函数执行的操作在函数体中指明。// factorial of val is val * (val - 1) * (val - 2) . . . * ((val - (...
2020-04-12 21:54:05 376
原创 《C++ Primer》阅读笔记(五)语句
第5章 语句简单语句(Simple Statements)如果在程序的某个地方,语法上需要一条语句但是逻辑上不需要,则应该使用空语句(null statement)。空语句中只含有一个单独的分号;。// read until we hit end-of-file or find an input equal to soughtwhile (cin >> s &&...
2020-04-12 21:38:17 226
原创 《C++ Primer》阅读笔记(四)表达式
第4章 表达式基础(Fundamentals)表达式(expression)由一个或多个运算对象(operand)组成,对表达式求值将得到一个结果(result)。字面值和变量是最简单的表达式,其结果就是字面值和变量的值。基础概念(Basic Concepts)C++定义了一元运算符(unary operator)和二元运算符(binary operator)。除此之外,还有一个作...
2020-04-12 21:28:39 383
原创 《C++ Primer》阅读笔记(三)字符串、向量和数组
第3章 字符串、向量和数组命名空间的using声明(Namespace using Declarations)使用using声明后就无须再通过专门的前缀去获取所需的名字了。using std::cout;程序中使用的每个名字都需要用独立的using声明引入。头文件中通常不应该包含using声明。...
2020-04-12 19:06:28 321
原创 《C++ Primer》阅读笔记(二)变量和基本类型
第2章 变量和基本类型基本内置类型(Primitive Built-in Types)算数类型(Arithmetic Types)算数类型分为两类:整型(integral type)、浮点型(floating-point type)。bool类型的取值是true或false。一个char的大小和一个机器字节一样,确保可以存放机器基本字符集中任意字符对应的数字值。wchar_...
2020-04-12 18:30:42 302
原创 《C++ Primer》阅读笔记(十二)动态内存
第12章 动态内存程序用堆(heap)来存储动态分配(dynamically allocate)的对象。动态对象的生存期由程序控制。动态内存与智能指针(Dynamic Memory and Smart Pointers)C++中的动态内存管理通过一对运算符完成:new在动态内存中为对象分配空间并返回指向该对象的指针,可以选择对对象进行初始化;delete接受一个动态对象的指针,销毁该对...
2020-04-12 15:39:14 284
原创 LeetCode 155. 最小栈 C++ 不使用stack的做法
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2...
2020-04-09 18:20:47 185
原创 leetcode 54. 螺旋矩阵
参考:https://www.cnblogs.com/ariel-dreamland/p/9143650.htmlMedium!题目描述:给定一个包含mxn个元素的矩阵(m行,n列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6...
2020-04-09 17:08:04 104
原创 排序算法快速排序冒泡排序
//快速排序void quick_sort(int s[], int l, int r){ if (l < r) { //Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换 参见注1 int i = l, j = r, x = s[l]; while (i < j) ...
2020-04-08 13:28:55 173
原创 内存中的堆和栈
内存中的栈由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈,先进后出。它是由高地址向低地址扩展的数据机构,是一段连续的内存区域,只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。注意,在这块空间中,编译器并不会自动对它进行任何的初始化,它所保存的不是0,而是一个随机值(可能是该储存区上次被使用后的值),在函数结束后,所开辟的空间...
2020-04-08 13:07:10 488
原创 线程池
1. 线程池的概念: 线程池就是首先创建一些线程,它们的集合称为线程池。使用线程池可以很好地提高性能,线程池在系统启动时即创建大量空闲的线程,程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。2. 线程池的工作机制 2.1 在线程池的编程模式下,任务是提...
2020-04-08 12:46:49 195
原创 LeetCode 3. 无重复字符的最长子串 哈希 滑动窗口
C++滑动窗口 哈希表(用unordered_map)思路:一个字符一个字符的遍历,比如a,b,c,然后又出现了一个a,那么此时就应该去掉第一次出现的a,然后继续往后,又出现了一个b,则应该去掉一次出现的b,以此类推,最终发现最长的长度为3。所以说,我们需要记录之前出现过的字符,记录的方式有很多,最常见的是统计字符出现的个数,但是这道题字符出现的位置很重要,所以我们可以使用HashMap来...
2020-04-01 16:01:55 163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人