- 博客(101)
- 资源 (5)
- 收藏
- 关注
原创 解决WPS下安装了VBA后出现的问题——卸载
之前安装了VBA,最近在用WPS不论开启还是关闭时候每次都会出现下面三种画面,每次都得我点击确定,很烦,所以打算卸载VBA,发现卸载还是一个问题呢!首先在控制面板下面是找不到VBA的,所以用这个方法卸载不了;主要是安装的时候也不知道它安在了什么位置,所以我直接在电脑文件下全局搜索vba,将找到的文件都删了,最后成功删除vba,如果在搜索处理的结果中担心有其他系统文件,建议先查看一下创建...
2019-07-24 17:57:59
9146
原创 SVN更新失败——认证失败
使用SVN时一直让输入用户名和密码,就试着用之前的方式解决,即设置->清理数据,再次更新时输入用户名密码后,还是出现下图所示异常,又 认证失败!看来不是电脑上存在其他用户的原因。又去C:\Users\Administrator\AppData\Roaming下面删了Subversion和TortoiseSVN两个存储用户日志相关的文件夹,再检出更新,输入用户名密码,还是一样的效果。...
2019-07-22 10:34:43
1674
1
原创 WPS 2019解决不能启用宏问题
一位做会计的小姐姐找我给她安装VBA,一脸懵,从来没有听过这个东西,于是上网查了查,VBA究竟是做什么的,原来在使用Excel时候会用到宏编辑,Microsoft Office里面自带宏编辑插件,开启就好了,而WPS里面的宏是不能直接启用的,需要下载安装VBA插件才可以,那么开始下载插件喽。搜了一圈发现说的最多的插件是 vba6.3WPS宏插件 ,网上一搜一大片,兴冲冲的下载了之后安装完,发现根本...
2019-07-15 13:27:26
62776
8
原创 SVN异常处理——检出失败
使用SVN检出时检出失败,显示 Malformed XML:no element found格式错误的XML:没有找到元素,错误提示如下图所示:解决方法:1.检查版本库浏览URL输入是否有误,有时候因为从别的地方直接复制的会有一些其他符号跟着,导致检出失败。2.如果URL没有问题,尝试清理动作,该文件夹下 右键->TortoiseSVN->清理...
2019-07-11 13:49:48
15751
原创 SVN异常处理——更新失败、清理失败
五、操作时显示执行“清理”命令在更新或者提交时不能成功,有提示执行“清理”命令对话框图1右键->TortoiseSVN->清理图2图3此时清理完成,可以继续你的提交或者更新了。但是有时候执行清理操作时会失败,图4我们需要借助一个工具处理这个问题,下载sqlite3.exe文件,下载地址:https://www.sqlite.org/download.html...
2019-07-10 15:49:59
3525
1
原创 SVN异常处理——禁止访问
一、输入用户名和密码错误1.没有账号,先开通账号;2.若已经开通了账号,确保用户名输入正确解决办法:(1)是否正确输入密码;(2)在输入密码时检查输入法是否锁定大写;(3)以上检查无误,输入密码还是登录不上,需要找IT解决二、【【禁止访问】】处理:图1分两种情况:1.表示用户没有该文件夹的访问权限。需要开通访问权限2.该电脑上已经保存了第一个人的svn用户名和密码,所以要清...
2019-07-10 15:18:06
22943
原创 电脑桌面快捷键
细数电脑桌面快捷键Win+D:快速回到桌面如果你的电脑上打开好多窗口,想赶紧回到桌面,可是你又忘记了这个快捷键,那么你可以直接点击下图所示的地方Win+R:打开 运行 程序如果你想找到电脑命令行窗口,但又不知道这个快捷键,那么你可以Win+E:打开电脑文件夹Win+T:查看任务栏中已正在使用的程序Win+U:快速打开 控制面板Win+P:呼出可连接设备Win+L:电脑快速锁屏...
2019-07-08 16:57:07
2647
原创 SVN如何使用——回滚
首先要知道的是,我们在使用SVN时每一次修改,删除,增加都会有日志记录的,而且没提交一次都会是一个版本,可以通过右键-> TortoiseSVN->显示日志,查看详细版本,可以通过回滚操作——找回更改前的文件(夹)右键-> TortoiseSVN->更新至版本,图1图2图3回滚可以找到之前的所有版本,还原一个类似的功能是还原,指回到之前你文件夹下的版本,如...
2019-07-03 16:00:04
809
原创 SVN如何使用——更改文件(夹)名称
1.电脑快捷键F2,更改名称后SVN提交图1图22.在文件或文件夹上右键-> TortoiseSVN->改名图3图4这时文件(夹)显示蓝色加号标识图5此时需要进行提交操作,就会显示绿色标识了。...
2019-07-03 13:47:16
6932
原创 SVN如何使用——删除,还原
一、删除文件夹或文件选择要删除的文件夹或文件->右键-> TortoiseSVN->删除注:删除之后会自动更新状态。如果文件(夹)没有绿色标识,这时需要等待几秒钟;如果长时间没有更新,需要重新提交即可。二、文件(夹)还原如果不小心删了原本的文件(夹),想要撤消一个文件自上次更新后的所有的变更,你需要选择该文件, 点击右键弹出菜单,然后选择TortoiseSVN → SVN...
2019-07-03 13:42:22
1104
原创 SVN如何使用——提交,更新
一、客户端下如何上传自己新增的文件夹或文件1.在该目录下新增文件夹图1空白地方右键->SVN提交,出现如下提示框图2图3图4文件提交成功标识:文件夹显示绿色文件的提交方式与文件夹提交方式一样。二、如何更新文件当组里其他人员更新了文件并提交后,我们需要进行更新操作才可以看到他更新的东西。空白地方右键->SVN更新更新完毕后的提示页面图5...
2019-07-03 13:28:36
20658
原创 SVN客户端使用——访问库文件
SVN客户端使用——如何访问库文件本地选择一个空间足够大的存储盘,新建一个名为SVN_WORK 文件夹专门用来存放SVN文件,在SVN_WORK文件夹下,新建文件夹(名称和你要访问的文件夹名相同)比如A,进入新建文件夹A->单击右键-> TortoiseSVN->版本库浏览器,图1出现以下窗口,输入URL,一定要输入正确的URL,不然会很麻烦,有时候复制粘贴过来会有其他符...
2019-07-03 10:33:13
2141
原创 ##用户安装SVN##
SVN客户端安装1.检查本机是否已经安装SVN软件桌面,单击右键,显示的工具栏如下面两图都表示已经安装,如果显示不是如图所示菜单,则需要安装SVN软件图1 已经安装了SVN,没有进行语言设置图2 已经安装成功,可以直接使用SVN2.获取SVN软件安装包获取地址:3.安装SVN软件打开安装包保存路径,解压缩SVN软件安装包,点击进入SVN软件文件夹,看到有LanguageP...
2019-07-03 09:40:59
201
原创 用C语言解决棋盘上马遍历问题
题目三:棋盘上马遍历问题 (1)问题描述 在8*8方格的棋盘上,从任意指定的方格出发,为马寻找一条走遍棋盘每一个并且只能经过一次的一条路径。 (2)算法分析 如果用二维数组board[][]表示棋盘,其元素记录马经过该位置时的步骤号。另对马的各种可能的走法设定一个检索次序,确定了出发方格后首先要清盘,即将表示棋盘的二维数组每个元素都置0;第一步就是出发方格,主要是确定第二步到第...
2018-04-23 11:15:02
4650
2
原创 用C语言解决变量三角形问题
题目二:变量三角形问题 (1)问题描述 设A、B、C、D、E、F这六个变量可分别取[1,6]上的整数,将这六个变量排成如下图所示的三角形,求使三角形三条边上的变量之和相等的全部解。 A 1 B F 6 ...
2018-04-23 11:13:18
875
原创 用C语言解决文件合并问题
题目一:文件合并问题 (1)问题描述 有两个磁盘文件A和B,各存放一串字母,要求把这两个文件中的信息合并,输出到一个新文件C中。 (2)算法分析 在.cpp所在的文件夹里建立A.doc和B.doc,并向其中输入字母,再编写一个用于输出文件内容的程序,将文件信息合并。 (3)源代码 磁盘文件A:#include <stdio.h>void main( ){ FIL...
2018-04-23 11:11:02
6041
原创 二维数组中的查找【每日一题】
题目:一个m*n的矩阵,从左到右从上到下都是递增的,给一个数x, 判断x是否在矩阵中。要求效率尽可能的高。 解决方法:从二维数组的右上角或者左下角开始找起, 如果右上角元素大于关键字,说明关键字不在右上角元素所在的列,因此剔除该列; 如果右上角元素小于关键字,说明关键字不在右上角元素所在的行,因此剔除该行; 如果右上角元素等于关键字,则查找成功; 如果右上角所在行与列都被剔除,则说明关键
2017-07-29 12:00:16
2549
原创 判断一棵树是否是完全二叉树【每日一题】
完全二叉树的定义:对二叉树按照从上到下、从左到右的层次遍历,应该满足一下两条要求: ●某节点没有左孩子,则一定无右孩子 ●若某节点缺左或右孩子,则其所有后继一定无孩子 不满足上述任何一条,均不为完全二叉树。题目:判断一棵树是否是完全二叉树 解决方法:在层序遍历的过程中,找到第一个非满节。满节点指的是同时拥有左右孩子的节点。在找到第一个非满节点之后,剩下的节点不应该有孩子节点;如果有,那么该二
2017-07-28 17:10:55
621
原创 求一颗二叉树的镜像 【每日一题】
题目: 求一颗二叉树的镜像 解决方法: 创建一个树以后,交换每个节点的左右孩子//递归 void _GetBinaryMirror(Node* pRoot) { if(pRoot) { std::swap(pRoot->_pLeft ,pRoot->_pRight ); _GetBinaryMirr
2017-07-28 16:10:00
369
原创 二叉树三种遍历非递归实现【每日一题】
前序遍历: 根据前序遍历访问的顺序,优先访问根结点,然后再分别访问左孩子和右孩子。即对于任一结点,其可看做是根结点,因此可以直接访问,访问完之后,若其左孩子不为空,按相同规则访问它的左子树;当访问其左子树时,再访问它的右子树。因此其处理过程如下: 对于任一结点P: 1)访问结点P,并将结点P入栈; 2)判断结点P的左孩子是否为空,若为空,则取栈顶结点并进行出栈操
2017-07-28 16:04:38
524
原创 求二叉树的高度/销毁一颗二叉树【每日一题】
template<class T>struct BinaryTreeNode{ BinaryTreeNode(const T& data) :_data(data) ,_pLeft(NULL) ,_pRight(NULL) {} T _data; BinaryTreeNode<T>* _pLeft; Binar
2017-07-23 13:10:40
323
原创 链表翻转(升级版)【每日一题】
题目:链表翻转。给出一个链表和一个数k,比如链表 1→2→3→4→5→6,k=2,翻转后2→1→4→3→6→5,若k=3, 翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6, 用程序实现Node* RotateList(Node* list, size_t k)。 解决方法:思路和链表翻转一样是将该节点原来指向下一个节点的指针指向该节点的前一个节点,最后得到的新链表的头节
2017-07-23 13:03:33
251
原创 求数组中出现次数超过一半的字符【每日一题】
题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个字符。 解决方法: 方法1.首先我们想到如果是一个排序好的数组,那么我们只需要遍历一次数组,统计好每个数字出现的次数,如果大于数组长度的一半就输出这个数字。或者只需要直接输出array[N/2]的值即可。 (1)如果说数字只有0-9的话可以考虑设计一个Hash table,遍历一次就能知道每个数字出现的次数。但是数字
2017-07-22 12:39:42
846
原创 求二叉树叶子节点的个数和第k层的节点个数【每日一题】
1.求二叉树中叶子节点的个数 (1)如果二叉树为空,返回0 ; (2)如果二叉树不为空且左右子树为空,返回1; (3)如果二叉树不为空,且左右子树不同时为空,返回左子树中叶子节点个数加上右子树中叶子节点个数 。 2.求二叉树中第k层的节点个数 (1)若树为空或k小于1或k大于树的高度,则返回0; (2)若k=1,则表示第一层即为根节点个数,即返回1; (3)如果不是上两种情况,则返
2017-07-22 12:01:07
667
原创 实现一颗二叉树的层序遍历【每日一题】
题目:层序遍历二叉树给定一棵二叉树,要求层序遍历该二叉树,即从上到下按层次访问该树,每一层单独输出一行,每一层要求访问的顺序为从左到右。我们在遍历的过程中将该层节点的孩子节点压入一个队列,这样就可以实现从上到下一层一层地遍历该二叉树。 初始时,根结点入队列。 然后,while循环判断队列不空时,弹出一个结点,访问它,并把它的所有孩子结点入队列。template<class T>struct B
2017-07-21 13:31:56
377
原创 计算阶乘结果中0的个数【每日一题】
题目:给定一个整数N,那么N的阶乘N!末尾有多少个0呢? 例如:N=10,N!=3 628 800,N!的末尾有两个0解决方法: 两个大数字相乘都可以拆分多个质数相乘,而质数相乘结果为0的只有2*5。那么两个数相乘尾数为0的个数其实就是依赖2和5的因子个数。又因为每两个连续数字就会有一个2,个数很充足所以只需要关心5因子的个数就行了。 那么怎么计算n!中5因子的个数呢? 把5的倍数都找出来,
2017-07-21 13:27:10
1391
原创 判断元素出栈、入栈顺序的合法性【每日一题】
题目:元素出栈、入栈顺序的合法性。如:入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1),则合法。入栈的序列(1,2,3,4,5),出栈序列为(4,5,2,3,1),则不合法。 解决方法:很直观的一种想法,建立一个辅助栈,把输入的第一个序列中的数字一次压入该辅助栈,并按照第二个序列的顺序从该栈中弹出数字。遍历出栈顺序中的元素,有两种情况 : (1)如果元素是栈顶的元素,则pop出
2017-07-20 13:54:04
406
原创 整数二进制位中1的个数【每日一题】
题目:计算一个整数二进制位中1的个数。要求效率尽可能的高。 且能正确求正数和负数的二进制中1的个数。//二进制中1的个数int CountOf1One(int num){ //但是如果不知道是多少位的机器,冒然给出的32会让人很费解 //所以修改如下 int count = 0; int i = 1; while(i<=32) {
2017-07-20 13:52:01
219
原创 【每日一题】查找一个字符串中第一个只出现两次的字符
题目:查找一个字符串中第一个只出现两次的字符。比如:“abcdefabcdefabc”中第一个只出现两次为‘d’,要求时间复杂度为O(N),空间复杂度为O(1) 解决方法:可以使用哈希表统计每个字符出现的次数。因为字符只有256种可能,所以我们可以申请一个256大小的数组来统计每个字符出现的次数(以空间换时间),统计完后,我们以原数组的元素值为下表,访问统计数组,直到遇到第一个访问数组元素值为2的元
2017-07-20 12:57:06
4155
原创 【每日一题】实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、 Min(返回最小值的操作)的时间复杂度为O(1)
题目:实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、 Min(返回最小值的操作)的时间复杂度为O(1) 解决方法:使用两个栈_data和_min,_min做为辅助栈(每次压入_min的都是_data的最小值)。元素x入栈时,将x和_min栈顶元素做比较,如果x小于等于_min.top(),将x分别push到_data和_min,否则x只push到_data;元素出栈时,将_dat
2017-07-20 12:23:04
1695
原创 替换空格【每日一题】
题目:实现一个函数,要求吧字符串中的所有空格替换成“%20”。例如 “hello world ” ——> ”hello%20world%20” 以前一直觉得做这种题目没什么意义,直到前两天学了网络编程才知道这种题目的意义非比寻常。 在网络编程中,如果URL参数中含有特殊的字符,如空格、’#’等,导致服务器端无法识别时,就把这些特殊的字符转换成可以识别的字符。规则:%加上十六进制的ascii
2017-07-18 12:23:16
227
原创 栈与队列【每日一题】
1.两个栈实现一个队列: 思路一、s1是入栈的,s2是出栈的 入队列:直接压到s1里 出队列:先把s1中的元素全部压到s2中,弹出s2中的栈顶元素; 再把s2的所有元素压回s1中 思路二、s1是入栈的,s2是出栈的 入队列:如果s1为空,把s2中所有元素压到s1中;否则直接压入s1 出队列
2017-07-18 12:20:28
200
原创 复杂链表的复制【每日一题】
所谓复杂链表是指:节点域中除了有数据域和指向下一个节点的指针,还有一个指向任意节点的指针 链表结构:struct ComplexList{ DataType _data; ComplexList* _pNext; ComplexList* _pRadom;}ComplexList*, pComplexList; 在不使用辅助空间的情况下实现O(n)的时间效率,解决方法
2017-07-17 15:00:13
172
原创 删除一个无头单链表的非尾节点【每日一题】
1、删除一个无头单链表的非尾节点: 分析:既然是一个无头链表,那么我们就不能通过直接访问这种形式进行删除。找不到上一个,那么就找下一个,让tmp保存node后节点的信息,然后让改动node的值,让node指向tmp的下一个,此时删除tmp,也顺利完成题目的要求。void DelNoHeadNotTail(PNode* pHead , int pos){ if(NULL != pHead
2017-07-17 12:23:16
607
原创 链表相交问题【每日一题】
1.判断两个链表是否相交,若相交,求交点。(假设链表不带环) 两个链表均不含有环,链表相交如下图 解法一、直接法 直接判断第一个链表的每个结点是否在第二个链表中,时间复杂度为O(len1*len2),耗时很大。解法二、利用计数 如果两个链表相交,则两个链表就会有共同的结点;而结点地址又是结点唯一标识。因而判断两个链表中是否存在地址一致的节点,就可以知道是否相交了。可以对第一 个链表
2017-07-16 22:49:08
264
原创 类的三种特殊设计【每日一题】
1.设计一个类不能被继承 。 解法一、将该类的构造函数设为私有函数 在C++中子类的构造函数会自动调用父类的构造函数,子类的析构函数也会自动调用父类的析构函数,要想一个类不能被继承,我们只要把它的构造函数和析构函数都定义为私有函数,那么当一个类试图从它那继承的时候,必然会由于调用构造函数、析构函数而导致编译错误。那么既然这个类的构造和析构函数都是私有的,我们就必须通过定义公有的静态函数来创建和释
2017-07-16 22:18:18
236
原创 数据结构【排序算法】——快速排序
算法描述: 快速排序是由东尼·霍尔所发展的一种排序算法。 在平均状况下,排序 n 个项目要Ο(n log n)次比较。 在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。 事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二次
2017-07-16 21:38:36
278
原创 数据结构【排序算法】——冒泡排序
算法描述: 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 算法步骤: 1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2、
2017-07-16 21:37:16
372
原创 链表带环问题【每日一题】
1.如何判断是否有环? 与返回链表倒数第k个节点的问题类似,定义两个结点指针,一个走的快,一个走的慢,那么当快的那个指针追上慢的指针时,说明链表带环。2.如何计算环的长度? 从第一次相遇(超一圈)时开始计数,第二次相遇时停止计数,返回的这个计数即为环的长度。3.如何判断环的入口点:碰撞点到连接点的距离等于头指针到连接点的距离,因此,分别从碰撞点、头指针开始走,相遇的那个点就是连接点。上述是一个简
2017-07-16 18:23:13
292
原创 Linux——利用Shell脚本编写进度条
初级版本(原始进度条):#!/bin/bashecho "hello"printf "\n"sleep 3i=0bar=''lable=('|' '\\' '-' '/')while [ $i -le 100 ]do#echo $iprintf "[%-100s][%d%%][%c]\r" "$bar" "$i" "${lable[$i%4]}"bar='#'$barlet i
2017-07-11 15:48:28
1382
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人