自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

biglamp的博客

聪明的一休

  • 博客(41)
  • 收藏
  • 关注

原创 java时间

Date 就是保存了时间戳,可以确定一个时刻Calendar 保存了时间戳和时区,可以确定一个时刻,另外有一些方便的操作TimeZone 时区SimpleDateFormat 格式化和解析Date。

2023-08-28 22:49:10 167

原创 hadoop集群搭建

文章目录背景一、操作步骤二、技巧、排坑背景使用虚拟机,搭建Hadoop集群环境:宿主机Windows10,virtualBox 6.1.8四台Ubuntu 16.0.4 虚拟机主要参考这三篇文章https://www.cnblogs.com/qingyunzong/p/8496127.html#_label4_4https://blog.csdn.net/qq_35246620/article/details/88576800https://github.com/heibaiyin

2022-05-04 21:55:36 1969

原创 git status出现大量文件修改

情景:把git仓库从home文件夹移动到另一个磁盘的文件夹中,git status出现大量修改的文件,使用git diff只显示下图,即文件内容没有改变,只是文件的mode改变了.原因分析不同目录创建文件的默认权限不一样(猜测+实测),git默认跟踪文件权限,因此当移动仓库导致文件权限改变后,git status提示修改.(另外,git只记录执行权限,而不记录读写权限。换句话说,644的文件和664的文件,对git来说是没区别的。)解决办法一般而言,我们不关心文件权限的改变,只关心文件内容的改变

2021-01-24 11:34:34 7024 1

原创 ubuntu安装校园正版matlab

学校购买了正版matlab软件,可以供校内人员免费使用。记录一下安装过程。步骤1: 注册 MathWorks 帐户及关联许可证到MathWorks官网创建账户在“电子邮件地址”栏填写学校的邮箱,在您”将如何使用 MathWorks 软件“栏,教师和学生分别选择“学校教学或研究”和“学生用途”随后,邮箱会收到一封验证邮件,按提示操作即可账户关联许可证在第三步的操作中,会自动关联许可证到注册的账户,若没有自动关联,也可以手动关联.登陆后,按下图操作按提示输入激活秘钥,秘钥由学校提供

2021-01-13 11:49:27 2260

原创 MultiCol-Slam里面的cayley变换/参数

cayley变换/参数参考链接:http://blog.leanote.com/post/610167078@qq.com/cayley%E5%8F%98%E6%8D%A2 https://blog.csdn.net/J10527/article/details/70140264旋转向量与旋转矩阵之间的相互转换是通过罗德里格斯公式建立起来的:其中r为旋转向量,R为旋转矩阵。其反过程可有下式确定:除此之外,还有凯莱公式(Cayley formula)可以将旋转向量转化为旋转矩阵,该

2020-11-24 11:12:38 1120 2

原创 c++多线程全局变量可见性问题

最近学习多线程编程的时候,测试加锁不加锁的时候,碰到了一个不能理解的现象,通过搜索,发现多线程编程的坑很深,需要考虑很多方面的情况,如编译器优化,内存模型,cpu架构。现象:没有使用锁的情况下,两个线程访问同一个全局变量,一个线程修改了该全局变量后,在另一个线程中始终无法发现修改的值。大致的代码描述:int a = 0;void * threadFun1(void *){ a = 1;}void * threadFun2(void *){ while (1) { if (a

2020-08-16 21:57:21 7025 3

原创 俄罗斯农名乘法

俄罗斯农名乘法适用于两个正整数相乘,只需要用到乘2、除2和加法操作。公式如下:该乘法经常被用于两数相乘取模的场景,如果两数相乘已经超过数据范围,但取模后不会超过,我们就可以利用这个方法计算中间结果后取模,保证每次运算都在数据范围内。实现://递归实现int ruM(int m, int n) { if (m == 1) return n; if (m % 2) return ruM((m - 1) / 2, 2 * n) + n; return ruM(m / 2, 2

2020-08-06 11:20:48 417

转载 转载-synergy 一套键鼠多台设备共享

原文链接synergy 一套键鼠多台设备共享2017-02-08 Synergy 可以在多台电脑之间共享鼠标、键盘、剪贴板。开源,跨 Win、Linux、Mac。Synergy 需要注意不是远控软件,类似双屏或者KVM切换器,只是共享鼠标和键盘.具体关于synergy的介绍可以看 Synergy 一套键鼠同时控制多台电脑的神器!超级方便!开源免费,支持(Win/Mac/Linux) Synergy – 教你在局域网中用一套键盘/鼠标控制多台电脑想必很多人都拥有多台电脑,譬如台式

2020-06-18 17:36:33 573

原创 一套鼠标键盘控制windows和linux(ubuntu)多系统的解决办法

场景最近在使用tx2(可以理解为一台电脑,ubuntu系统)跑实验,另外还有一个thinkpad笔记本在使用,只有一个24寸显示器。两个需求:由于不想更换键盘和插拔鼠标带来的麻烦,想通过笔记本的键盘鼠标直接控制tx2和笔记本本身。笔记本和tx2使用同一个大显示器。解决办法由于显示器有两个输入口,所以笔记本和tx2同时接上,用手机安装一个万能遥控,切换不同信号源即可,手机需要支持红外,或者直接用显示器的遥控也行。所以重点是解决第二个问题,即用笔记本键盘鼠标控制tx2和笔记本本身。方案一:远

2020-06-18 17:07:35 3026

原创 kdevelop无法完整显示中文和下划线等问题

上述问题就好像行距太小,更换字体可以解决上述问题。可以将字体设置为AR PL UKai CN若没有找到该字体,先安装fonts-arphic-ukai包(sudo apt install fonts-arphic-ukai),再重启kdevelop即可找到。

2020-05-10 16:12:16 1019

原创 firefox火狐浏览器标签页的一些设置

双击左键关闭标签页:地址栏输入about:config(下文所有操作都是先输入这个先,不再赘述)然后搜索browser.tabs.closeTabByDblclick,修改为true即可。新标签页打开书签,browser.tabs.loadBookmarksInTabs设置为true关闭其他标签页是否弹出提示,browser.tabs.warnOnCloseOtherTabs新标签页打开...

2020-04-24 10:52:23 3279

原创 网易互娱游戏研发暑期实习笔试(2020.04.11晚上19:00-21:30)

三道笔试,全是编程。AC了前两道,记录一下。题目图片来自牛客网https://www.nowcoder.com/discuss/405887?type=post&order=create&pos=&page=11思路:把补给品取出来,按距离排序,逐一砍下。multimap容器非常适合本题。下面是AC的代码:#include <cmath>#inc...

2020-04-11 23:59:44 1039

原创 c/c++中的static与extern

本文属于如下两篇文章的提炼,非原创。http://www.xumenger.com/c-cpp-static-extern-20180412/https://www.runoob.com/w3cnote/extern-head-h-different.htmlstatic 关键字在C语言中static可以用来修饰局部变量、全局变量以及函数。c++中,static还可以修饰类成员。c中st...

2020-03-31 16:13:00 304

原创 c/c++几个常用的字符处理函数

函数原型都是int func(int c),返回0表示否,非0表示是。islower(char c) 是否为小写字母isuppper(char c) 是否为大写字母isdigit(char c) 是否为数字isalpha(char c) 是否为字母isalnum(char c) 是否为字母或者数字函数原型都是`int func(int c)toupper(char c) 返回对应的...

2020-03-25 18:40:20 221

原创 负数取模

取模取决于如何取整。取整向上取整,向+∞方向取最接近精确值的整数,也就是取比实际结果稍大的最小整数,也叫 Ceiling 取整。这种取整方式下,17 / 10 == 2,5 / 2 == 3, -9 / 4 == -2。向下取整,向-∞方向取最接近精确值的整数,也就是取比实际结果稍小的最大整数,也叫 Floor 取整。这种取整方式下,17 / 10 == 1,5 / 2 == 2, -9 ...

2020-03-22 23:22:11 1817 1

原创 路由器WDS桥接过程记录

路由器WDS桥接过程记录主路由器:TP-LINK TL-R470P-AC副路由器:MERCURY MW313R桥接的主要操作都在副路由器,只需要知道主路由器的LAN网段和信道,当然主路由器的SSID和密码是必须知道的。主路由器的LAN网段可以通过连接WiFi后,查看设备的WiFi网关得知修改副路由器的LAN地址(可以理解为管理地址)。重置路由器后,浏览器输入管理地址,登录...

2020-03-07 01:14:08 1117

原创 概率机器人笔记1-2章

第一章 绪论机器人中的不确定性机器人所处的环境。尤其是在有人的,高动态环境中。传感器。受到传感器物理限制、性能限制,以及噪声和故障。执行机构。控制噪声、机械故障等。软件。内部模型是近似模型,是真实世界的抽象,存在模型误差近似算法。概率机器人学概率机器人的主要思想是用概率理论的运算,明确表示机器人中的不确定性。不再只依赖可能出现情况的单一的“最好推测”,而是用概率算法来表示在整个...

2020-03-04 16:23:54 331

原创 Git学习

Git学习参考链接文章目录Git学习集中式与分布式版本控制系统安装Git版本库管理初始化仓库添加文件查看状态版本回退工作区与暂存区管理修改撤销修改删除文件远程仓库设置远程仓库SSH Key添加远程仓库从远程仓库克隆分支管理解决冲突分支策略bug分支多人协作rebasetab标签GitHub使用Gitee使用配置Git忽略特殊文件配置文件集中式与分布式版本控制系统集中式:有一个中央服务器,版...

2020-03-04 16:11:19 236

原创 cmake LINK_DIRECTORIES不起作用,报错的原因

ADD_EXECUTABLE(main main.cpp)TARGET_LINK_LIBRARIES(main libhello.so)INCLUDE_DIRECTORIES(/tmp/t3/include/hello /tmp/t3/lib)LINK_DIRECTORIES(/tmp/t3/lib)这种情况下会出错,说找不到引用,原因是ADD_EXECUTABLE出现在LIN...

2019-09-21 16:57:01 17692 1

原创 python“ModuleNotFoundError: No module named 模块名” 错误的一种情况

跨目录导包,运行python脚本时,有时出现如题的错误。原因一般是用了os,sys两个模块,而没有理解清楚两者的关系。os是关于本地系统的操作,sys是关于python环境的操作,如模块搜索路径配置。一种情况如下:import sys, ossys.path.append(os.pardir) # 为了导入父目录的文件而进行的设定注意到,这里os.pardir是当前操作系统工作目录的父...

2019-06-01 22:58:14 28672 2

原创 算法分析与设计第十八周

这里直接采用手工乘法算法,两个循环即可解决,复杂度为o(n*m),n,m分别为两个字符串的长度代码:string multiply(string num1, string num2) { string result(num1.length() + num2.length(), '0'); for (int i = num1.length() - 1; i >= 0;

2018-01-06 16:10:15 223

原创 算法分析与设计第十七周

习题8.3——证明吝啬SAT问题是NP完全问题 问题描述:给定一组子句(每个子句都是其中文字的析取)和整数k,求一个最多有k个变量为true的满足赋值——如果该赋值存在。证明吝啬SAT问题为NP完全问题。显然吝啬SAT问题是NP问题,因为可以代入可能的解即可判断是否满足,时间是多项式的。已知SAT是NP完全问题,所以证明的关键是可以在多项式时间内将SAT规约到吝啬SAT。 证明如下: 对于任何

2017-12-29 21:50:00 168

原创 算法分析与设计第十六周

分析:每次移除一个数,要尽可能使前面的数最小,因为前面的数的权值最大。而删除一个数,会导致后面紧接着的一个数代替删除的数的位置。所以在一次移除操作中,从前往后检查,一旦发现某个数后继的数更小,则删除此数。复杂度为o(k*n),可以采用递归的方法实现。(然而递归代码LeetCode显示内存超出,应该是栈溢出了,本地测试没问题。下面先给出递归代码,后面再给出迭代方法)递归代码class Solution

2017-12-23 14:28:57 264

原创 算法分析与设计第十五周

分析:对于原来的字符串,任何总数没有达到k的字符一定不会出现在满足要求的子串中,所以可以将其作为分界点,将原来的字符串一分为二,分而治之。每一次寻找分界点,耗费o(n),平均需要log(n)次递归,总的复杂度为o(nlog(n)),最差情况下,需要o(n^2).代码:class Solution {public: int longestSubstring(string s, int k)

2017-12-16 17:41:37 180

原创 算法分析与设计第十四周

思路:用两个“指针”,后面的指针找合法的窗口,前面的指针来缩小窗口到最小,找出最小的那个即为答案。 代码:class Solution {public:string minWindow(string s, string t) { vector<int> m(128, 0); //记录t中字符对应的个数 for (auto c : t) m[c]++; //初始化m in

2017-12-08 23:02:52 191

原创 算法分析与设计第十三周

本周做了两题 第一题: 此题比较简单,直接上代码class Solution {public: int removeDuplicates(vector<int>& nums) { int index = 0; vector<int> tmp(nums.size(), 0); for (int i = 0; i < nums.size(); +

2017-12-01 22:35:21 208

原创 算法分析与设计

分析,此题可以用动态规划来做。子问题为:max(i)= max(i - 1)> 0 ? max(i - 1) + nums[i] : nums[i], max(i)表示以nums[i]结尾的子串的最大和,最后返回最大的那个即为所求,复杂度为o(n)代码:class Solution {public: int maxSubArray(vector<int>& nums) {

2017-11-26 20:29:24 235

原创 算法分析与设计第十一周

分析:此题就是书上的例题,用动态规划解决。公式: if i == 0 且 j == 0,edit(i, j) = 0 if i == 0 且 j > 0,edit(i, j) = j if i > 0 且j == 0,edit(i, j) = i if i ≥ 1 且 j ≥ 1 ,edit(i, j) == min{ edit(i-1, j) + 1, e

2017-11-18 12:15:34 183

原创 算法分析与设计第九周

分析:暴力法,列举所有的排列,复杂度为o(n!),显然不可取。如果原来的排列是降序的,则无法找到更大的排列,返回上升序的排列。如果不是降序的,则从尾部开始找,直到发现第一对nums[i] < nums[i+1],i记为flag1,可知从i以后,是降序的,所以从后往前找出第一个比nums[i]大的数,交换之。因为上一步的交换不会影响后面的数的降序,所以再将i后面的数翻转即可。算法复杂度为o(n) 代

2017-11-05 00:16:21 234

原创 算法分析与设计第八周

分析:最直接的方法,即用二维数组表示一个棋盘,然后每次找寻合法的位置放置皇后。但是这个方法效率较低,因为每次查找合法的位置时都要使用循环,耗费大量的时间。可以消去这些循环查找合法位置所耗费的时间,即找出空闲的列,和斜线。斜线分上斜线与下斜线。每条上斜线上的格子,行加列为固定值,每条下斜线的格子,行减列为固定值。因此不再是检查空闲的格子,而是检查空闲的列和斜线,这可以根据传来的参数(列)立即确定,插入

2017-10-28 17:43:20 160

原创 算法分析与设计第七周

分析:最简单的是暴力法,即列举所以可能的组合,此法要嵌套扫两遍,所以复杂度为o(n^2). 然而此题可以用o(n)的复杂度解决,原因在于水桶原理,即关注短板。可以从两端开始,从短的一遍向内重选边,因为可能找到一个更长的边来抵消x轴减小带来的影响,并使高度与x轴乘机变大。重复上述步骤,直到两边重合。因此复杂度为o(n)。 代码:class Solution {public: int ma

2017-10-21 01:19:16 172

转载 留作笔记,原文链接:https://www.2cto.com/kf/201607/529682.html

本文中,介绍编译程序的基本概念,概述编译过程和编译程序结构,编译程序和程序设计环境以及编译程序的生成过程和构造工具知识。 什么叫编译程序通常,我们所说的翻译程序是指这样的一个程序,它能够把某一种语言程序(称为源语言程序)转换成另一种语言程序(称为目标语言程序),而后者与前者在逻辑上是等价的。如果源语言是诸如FORTRAN、Pascal、C、Ada、Smalltalk或Java这样的“高级语言”,而

2017-10-15 21:30:24 1422

原创 算法分析与设计第六周

思路:简单直接,从第一个字符开始,查找以该字符为起点的回文,返回所有回文中最长的那个回文 代码:class Solution {public: string longestPalindrome(string s) { string result= ""; string temp; for (int i = 0; i < s.length();

2017-10-14 22:19:17 236

原创 八皇后

关键:回溯法 方法一:用二维数组代表棋盘,皇后在的格子为true,其它为false。从第一行开始,放入一个皇后,然后到第二行,检查合法的格子,放入第二个皇后,依次下去,直到某一行没有合法的格子放下皇后,然后撤回上一次放入的皇后,重新寻找合法的格子以放下该皇后。重复上面的步骤。直到皇后全部摆好为止。代码:#ifndef QUEENS_H#define QUEENS_H#include<iostr

2017-10-05 22:41:15 606

原创 算法分析与设计第四周

思路:将源字符串s扫描一遍,找出n个不重复的子字符串,然后返回最长的那个的长度。 复杂度分析:查找子字符串要o(n^2),再乘以o(n)个子字符串,最后复杂度为o(n^3).实际情况可能要好很多,因为查找子字符串是否重复中的n只有少数能接近s.length().该算法的瓶颈在查找子字符串是否重复所花的时间。可以用树存储字符串,复杂度为o(nlogn!).代码:class Solution {pu

2017-09-30 23:25:43 186

原创 汉诺塔

分而治之思想:根据要求,大盘子不能压在小盘子上,所以必须把起始柱子上的n-1个盘子移到过渡柱子上,然后把最底下最大的那个盘子移到目标柱子上,再把过渡柱子上的n-1个盘子移到目标柱子上,任务完成。注意到从起始柱子上移动n-1个盘子到过渡柱子上,实质上与原来(从起始柱子移动n个盘子到目标柱子上)是同类型问题,但是规模减小了,可以一直得到n-2个盘子问题,n-3,n-4……,直到盘子数为1,直接移动即可。

2017-09-28 10:01:29 183

原创 算法分析与设计第三周

题目描述: 方法一:这是我最开始想到的方法,简答直接。先找到链表的长度count,然后删除第count-n+1个节点。需要两遍遍历。复杂度为o(n),n为链表的长度。 代码:class Solution {public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode* find = head;

2017-09-23 16:09:29 299

转载 百度文库复制内容,留作笔记

本文完全是百度文库复制而来,目的是留作笔记,原文链接:https://wenku.baidu.com/view/4e2fce708e9951e79b892767.htmlC++中的头文件和源文件 一、C++编译模式 通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C

2017-09-21 13:07:24 531

原创 算法分析与设计第二周

算法分析与设计第二周本周做了一题,题目如下: You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the t

2017-09-15 20:02:25 304

原创 算法分析与设计第一周

第一周第一周讲了分治,但是找不到分治的题目,所以随便找了两道题做了一下。第一题:Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask your

2017-09-09 14:02:49 315

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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