自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr.Qiao の Blog

Windows C++/C#开发,PAT/LeetCode/牛客网刷题,欢迎大家一起交流学习~

  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 在线编程解题模块 -- 博客目录导航

        因为刷题的顺序比较乱,所以文章写得顺序也不是跟着题目的顺序来的,所以在这里做一个目录置顶,方便大家查看。        1. PAT乙级结题目录:  PAT Basic Level Solution Link        2. PAT甲级结题目录: 暂未更新,敬请期待        3. Leetcode Easy解题目录: Leetcode Easy Level Solutio...

2018-04-05 14:37:33 176

原创 WPF入门3 -- XAML To CLR

        在上一篇文章中提到过,凡是用XAML实现的,都可以用传统的编程实现。所以使用Visual Studio创建一个console application, 添加引用程序集Assembly, PresentationCore, PresentationFramework和WindowsBase. C#实现代码如下:using System;using System.Collection...

2018-06-12 11:28:56 291

原创 WPF入门2 -- XAML学习1

XAML是一种与.Net CLR紧密集成的声明性UI标记语言。1.XAML中的对象元素均一一对应到CLR中的类型或结构2.XAML属性对应到相应CLR类型的属性3.XAML命名空间对应CLR类中的命名空间,元素类型则对应到CLR中的类型。用XAML能实现的,传统程序代码也可以实现,反之则不成立!下面学习着写了一个小demo, 代码如下:<Window x:Class="WPF1.Window...

2018-06-12 10:34:17 263

原创 WPF入门1 -- Hello WPF

        一直很想学习C#,终于机会来了。现在要开始学写界面,所以现在开始一边学习一边写博客。        首先学习了最基础的Hello WPF,Titie属性修改成WPF First Application,然后拖拽一个button,button的Content改成Hello WPF,双击button跳转到后端代码,加上响应的方法:Messagebox.show输出。        代码...

2018-06-12 10:23:56 315

原创 Windows下编译OpenSSL库 [32位] [保证可用~~ 不服来打我呀]

土豪的OpenSSL直通车-> 点我 (我将编译好的dll和lib上传了,下载后可以直接使用,呼应标题~~~)非土豪的看过来:准备工作见我的博客:Windows下编译OpenSSL库[准备工作] 1. 打开Visual Studio Command Prompt(2010) , 进入到OpenSSL的文件夹,运行perl Configure VC-WIN32 no-asm.2. 在确认Con...

2018-06-07 15:37:49 809

原创 Windows下编译OpenSSL库 [64位] [保证可用~~ 不服来打我呀]

土豪的OpenSSL直通车-> 点我 (我将编译好的dll和lib上传了,下载后可以直接使用,呼应标题~~~)非土豪的看过来:准备工作见我的博客:Windows下编译OpenSSL库[准备工作] 1. 打开Visual Studio x64 Win64 Command Prompt(2010) , 进入到OpenSSL的文件夹,运行perl Configure VC-WIN64A2. 当看到...

2018-06-07 15:16:49 9250 4

原创 Windows下编译OpenSSL库 [准备工作]

Openssl是一个开源的库,如何在windows上进行编译呢?

2018-06-07 14:34:28 3164

原创 C++ 实现磁盘去只读属性

磁盘去只读属性也是有两种方法,一种是diskpart工具的 ATTRIBUTES DISK CLEAR READONLY 命令,还有一种是执行WMI的带参数方法。关于如何写C++ 调用diskpart工具和C++ WMI在前面两篇文章:C++实现磁盘联机 和 C++实现磁盘初始化中都提及到了。直接附上代码:1. diskpart方法:核心代码只有一行:ret = WriteFile(hChildS...

2018-05-29 19:23:15 1128 1

原创 C++ 实现磁盘初始化

磁盘在联机后要初始化,同样也有两种方法,一种是调用IOCTL_DISK_CREATE_DISK,还有一种是调用WMI的Initialize方法。1.首先说说简单的WMI的方法:大致思路同博客:C++ 实现磁盘联机 先获取磁盘的id, 然后执行无参数方法Initialize 核心模块代码如下:wchar_t msftDiskObjectID[256];GetWMIMSFTDiskObjectId(...

2018-05-29 19:13:13 1701 4

原创 C++ 实现磁盘联机

磁盘联机有两种方法,一种是使用diskpart工具的online disk命令,一种是使用WMI的Online方法,后者仅对Server 2012及以上系统可用。1. C++ 调用diskpart的方法,可参阅 我的博客:C++ 修改磁盘san策略 在磁盘联机模块核心的地方 差不多就是:string s = "select disk ";s += pIndex;ret = WriteFile(...

2018-05-29 18:52:55 2387 1

原创 C++ 实现客户端阿里云迁移准备工作

    最近在做客户端往阿里云上迁移,也就是在客户端上要求实现如下功能,判断操作系统是32位还是64位,获取内存大小,获取CPU信息(格式:型号;核数),检测阿里云Virtio驱动是否存在。    下面附上各个功能模块的C++代码:1. 判断操作系统是32位还是64位BOOL IsSystem64(){ typedef BOOL(WINAPI *LPFN_ISWOW64PROCESS) (HA...

2018-05-29 17:55:18 291

原创 C++实现修改磁盘san策略

    最近在公司遇到磁盘镜像盘写io,GetLastError返回错误码19,磁盘受到介质保护,diskpart查看了一下磁盘的san策略,发现策略为使共享磁盘脱机。现在要支持修改san策略为全部磁盘联机。C++代码如下:#include <iostream>#include <Windows.h>#include <string>using name...

2018-05-18 11:23:21 1213 1

原创 Leetcode 66 -- 加一

题目链接:Leetcode 66大致描述一下题目:数组表示的数字加一,返回加一后的值,数组首元素存放的高位。[1,2,3] + 1 -> [1,2,4]解题思路:基本的加法进位逻辑附上解题代码:(C++)/*******************************************************************************Copyright © 20...

2018-04-27 14:28:03 156

原创 Leetcode 58 -- 最后一个单词的长度

题目链接:Leetcode 58描述一下题目:给定一个只有大小写字母和空格的字符串,计算最后一个单词的长度,如果不存在单词,则返回0.解题思路:从字符串尾端开始遍历字符串呀~~~设置一个标志位和计数器,当遇到第一个非空格时,标志位置true,同时计数器++直到遇到空格。代码如下:(C++)/******************************************************...

2018-04-27 13:44:13 351

原创 Leetcode 53 -- 最大子序和

题目链接:Leetcode 53描述一下题目:给定一个数组,找到具有最大和的子连续数组,返回最大和。解题思路:在Mooc上面 浙江大学数据结构里提到过这一题,这题跟那一题不一样的地方在于,如果最大和是负数,mooc上是返回0,这里是仍然返回负数。我们o(n)复杂度的算法是遍历数组,依次相加,当sum<0舍弃前面所有元素。因为前面sum<0,与后一个数相加反而使后面一个数字变小了,如此循...

2018-04-27 13:33:35 288

原创 Leetcode 38 -- 报数

题目链接:Leetcode 38描述一下题目:说起来都是泪啊... 2018年3月18号那场PAT乙级考试的第四题就是这个... 没做出来,所以啊,Leetcode要多刷刷。。给定一个如下规律的数列,求出第n项。1,11,21,1211,111221....解题思路:递归,递归,递归! 重要的话说三遍!分析这个数组的规律,第一项是1,第二项是11,代表1(count)个1(element),然后第...

2018-04-27 11:11:49 1670

原创 Leetcode 35 -- 搜索插入位置

题目链接:Leetcode 35大致描述一下题目:给定一个排序数组和一个目标值,返回该值在数组中的位置,如果数组中没有该值,则返回顺序插入的位置。解题思路:很简单,就是遍历数组,判断是否相等,还有前一个元素是否小于并且后一个元素是否大于。注意好边界值,即首元素和最后一个元素与目标值的比较。代码如下:/*************************************************...

2018-04-27 10:59:28 227

原创 Leetcode 28 -- 实现strStr( )

题目链接:Leetcode 28大致描述一下题目:给定两个str1和str2字符串,在str1中找出str2第一次出现的位置(从0开始),如果没有则返回-1。解题思路:首先比较str1和str2的长度,如果相等,比较是否为相等字符串;如果不相等,遍历str1.size()-str2.size()次,从str1[i](i=0,1,2...)开始str2.size大小的字符串是否和str2相等。附上代...

2018-04-27 10:12:01 193

原创 Leetcode 27 -- 移除元素

题目链接如下:Leetcode 27大致描述一下题目:类似于Leetcode26,给定一个数组和目标值val,原地删除val元素并且返回数字新长度解题思路:同样的方法,定义一个从0开始的计数器count,修改数组下标附上代码如下:(C++)/*******************************************************************************...

2018-04-27 09:41:43 142

原创 Leetcode 26 -- 删除排序数组中的重复项

题目链接如下:Leetcode 26大致描述一下题目:给出一个排序数组,原地删除重复元素,使得每个元素仅出现一次,返回移除后数组的长度。不要使用额外的数组空间。解题思路:很简单的一个逻辑,定义一个计数器count从1开始,从第二个元素开始遍历数组,如果当前元素和上一个元素不相等,将当前元素的下标赋值为count,同时count++附上代码如下:(C++)/*********************...

2018-04-27 09:30:24 162

原创 Leetcode 21 -- 合并两个有序链表

题目链接如下:Leetcode 21大致描述一下题目:将两个有序链表合并成一个新的链表并返回,拼接给定两个链表的所有节点。解题思路:基本的链表操作,在这里复习一下链表插入元素的操作。附上代码如下(C++):/*******************************************************************************Copyright © 2018...

2018-04-25 11:10:26 282

原创 Leetcode 20 -- 有效的括号

题目链接如下:Leetcode 20大致描述一下题目:给定一个字符串,只有'(' , ')' , '[', ']' , '{' , '}' 这六个字符,判断是否是有效字符串。要求如下:1. 左括号必须与对应的右括号闭合2. 左括号以正确的顺序闭合3.空字符串算有效字符串解题思路:老套路没啥好说的,用栈处理,类似于Leetcode的第九题 回文数。注意一些特殊的情况,比如字符串长度是奇数,首字符是右...

2018-04-25 10:47:52 483

原创 Leetcode 14 -- 最长公共前缀

题目链接如下:Leetcode 14大致描述一下题目:题目给出一个字符串数组,编写一个函数找出最长公共前缀,如果没有,返回空解题思路:基本上有两个思路:横向扫描和纵向扫描假设我们有一个str[ ]数组,"flow" "flower" "flight"横向扫描就是遍历所有字符串,先假设目标字串为str[0],然后和下一个字符串每个字符逐一比较,当遇到不一样的元素用substr截取保存为目标子串,然后...

2018-04-25 10:36:46 321

原创 Leetcode 13 -- 罗马数字转整数

题目链接如下:Leetcode 013大致描述一下题目:讲一个罗马数字转化成整数,题目限制数字在1-3999之间罗马数字有如下7个字符'I','V','X','L','C','D','M',分别代表1,5,10,50,100,500,1000解题思路:查阅了一些资料,了解到罗马数字转化成整数的一些规则 1. 相同数字连写n次,表示这个数字自加n次2. 小的数字在右边,则两个数相加3. 小的数字在左...

2018-04-24 09:54:47 143

原创 Leetcode 09 -- 回文数

题目链接如下:Leetcode 09 大致描述一下:判断一个整数是不是回文数,就是从左往右和从右往左读都是一样的整数,eg.121->true 解题思路:遇到这种字符串匹配问题,最好的方法就是构建栈这样的数据结构,先将一半的字符串入栈,然后后半段利用栈pop出来的元素逐一比对。如果字符串size是奇数,要跳过中间项。附上解题代码(C++):/*************************...

2018-04-24 09:42:03 177

原创 Leetcode 07 -- 反转整数

题目链接: Leetcode 07大致描述一下题目:给定一个32位有符号整数,将该数中的数字进行反转eg. 123->321, -123->-321,120->21题目假设只能存储32位有符号数,如果溢出返回0解题思路:首先对于这样一个传进来的int型整数,将其转化成字符串比较容易处理,先判断第一个s[0]是不是'-'号,然后使用C++ STL中的reverse函数将字符串进行反...

2018-04-24 09:30:48 151

原创 Leetcode 01 -- 两数之和

题目链接:Leetcode 01大致描述一下题目:给定一个数组,还有一个目标数,找出数组中是否有两个数字可以加起来等于目标值。由于是Easy level,题目假设每组输入只对应一个解,而且不存在同一元素使用两次解题思路:比较简单,使用两个for循环去遍历数组,然后nums[i]+nums[j]是否等于目标值,等于返回i,j附上解题代码(C++):/*************************...

2018-04-24 09:16:52 126

原创 Leetcode Easy Level 解题报告

Leetcode Easy Level解题目录如下:目前仍然处于更新中的状态,敬请期待: 题目序号题目名称解题链接001两数之和LINK007颠倒整数LINK009回文数LINK013罗马数字转整数LINK014最长公共前缀LINK020有效的括号LINK021合并两个有序链表LINK026删除排序数组中的重复项LINK027移除元素LINK028实现strStr()LINK035搜索插入位置LI...

2018-04-12 00:17:51 276

原创 PAT乙级解题目录

PAT乙级解题目录如下:目前仍然处于更新中的状态,如果LINK已经设置了超链接可以点的话,就是那题已经AC并且写了相应的解题博客.1001害死人不偿命的(3n+1)猜想LINK 1002写出这个数LINK1003我要通过!LINK1004成绩排名LINK1005继续(3n+1)猜想LINK1006换个格式输出整数LINK1007素数对猜想LINK1008数组元素循环右移问题LINK1009说反话L...

2018-04-05 16:13:55 416

原创 PAT B1039 -- 到底买不买

题目原文链接如下:LINK 大致描述一下题目的意思,有[0-9],[a-z],[A-Z]范围内的字符表示颜色,现在输入两个字符串,题目保证字符串只有这些字符,第一个字符串是摊主的串,第二个字符串是小红想做的手链的串,如果摊主的串中所包含的颜色全部包含了小红要做手链的颜色,并且摊主手链中每个颜色的数目大于小红需要的改颜色珠子的数目,输出"Yes + 摊主串子里做完小红的手链还剩的珠子数",反之,输出...

2018-04-02 15:20:53 207

原创 关于博客内容中PAT乙级模块更新的说明

        关于博客中的PAT乙级模块,之前一直在牛客网刷题,但是发现了这样的问题。在牛客网能AC的代码,放到PAT乙级的官网,链接如下:https://www.patest.cn/contests/pat-b-practise ,发现仅能通过部分测试用例。    所以决定把以前写的一些代码重新更新一下,在PAT乙级官网上通过所有测试用例,同时增加一些对题目思路的理解。    标题这块会从"牛...

2018-04-02 14:49:57 169

原创 跟着姥姥学数据结构(1) -- 最大子列和

    大学毕业已经两年了,两年的工作中发现自己曾经很差的计算机基础部分还是没有得到锻炼,就在中国大学MOOC上面参加了数据结构的课程。在博客中会把课后作业中的一些题目写出来。    今天要说的题目是求一个数列的最大子列和,有一个N个整数的序列{A1,A2,A3,A4...AN},求函数f(x,y)=max{0, Ai+Ai+1+...Aj (1<=i<j<=N)}的最大值.这题...

2018-03-28 13:54:25 2283

原创 PAT B1021 -- 个位数统计

题目如下:LINK代码如下:#include <iostream>#include <string>#include <map>using namespace std;int main(){ string strN; int count[10] = {0,0,0,0,0,0,0,0,0,0}; while (cin >> strN...

2018-03-28 08:50:01 229

原创 PAT B1020 -- 月饼

题目如下:LINK 代码如下:#include <iostream>#include <vector>#include <algorithm>struct mooncake{ float totalWeight; float totalPrice; double unitPrice;};bool mooncakeCmp(mooncake a...

2018-03-28 08:49:54 147

原创 PAT B1019 -- 数字黑洞

牛客网PAT乙级第九题,数字黑洞,题目描述大致如下:输入一个(0,10000]区间的正整数N,对于一个各位数字不完全相同的四位正整数,如果先非递增排序,后非递减排序,然后用第一个数字减第二个数字,将得到一个新的数字,一直重复这么做会得到一个常数6174(Kaprekar常数)。输出如果N的四位数字均相等,则输出"M - N = 0000"; 否则将计算每一步在一行中的输出,直到6174作为差出现,...

2018-03-28 08:49:44 394

原创 PAT B1018 -- 锤子剪刀布

牛客网PAT乙级第八题,锤子剪刀布,题目描述大致如下:输入第一行正整数N(N<=105),代表交锋次数,接下来N行输入交锋信息,格式"甲 乙",C代表锤子,B代表布,J代表剪刀。输出第1,2行分别给出甲和乙的胜,负,平的次数,数字间空格分离,第三行给出两个字母,代表甲和乙获胜次数最多的手势。空格分隔,如果解不唯一,输出字母序最小的解。代码如下:#include <iostream&gt...

2018-03-27 17:14:54 297

原创 PAT B1017 -- A除以B

牛客网PAT乙级第七题,A除以B,题目描述大致如下:计算A/B,输入A,B,以空格分隔,A是不超过1000位的正整数,B是1位正整数,输出余数Q和商R,空格分离,使得A=B*Q+R成立。题目要求的输入输出如下:代码如下:#include <iostream>#include <string>using namespace std;int main(){ str...

2018-03-27 17:03:26 194

原创 PAT B1016 -- 部分A+B

牛客网PAT乙级第六题,部分A+B,题目描述大致如下:正整数A的DA(A的一位整数),A中所有DA会组成一个新的数叫做PA,eg. A=3862767,DA=6,则PA=66在一行中输入A,DA,B,DB,空格分隔,其中0<A,B<10^10,输出PA+PB题目要求的输入输出如下:代码如下:#include <iostream>#include <string&gt...

2018-03-27 16:51:17 191

原创 PAT B1014 -- 福尔摩斯的约会

牛客网PAT乙级第四题,福尔摩斯的约会,题目描述大致如下:输入四行,每行非空,不包括空格,长度不超过60的字符串。前面两个字符串,比如第一对相同的大写字母(区分大小写)是第4个英文字母'D',代表周四,第二个相同的字符是'E',代表一天中的14点(一天24h表示为0-9,A-N),后面两个字符串第一对相同的英文字母's'出现在第4个位置(从0开始技术)上,代表第4分钟。输出"DAY HH:MM"题...

2018-03-27 16:24:08 400

原创 使用InstallShield制作Windows阿里云Virtio驱动安装包(三)-- 安装和卸载驱动

    安装和卸载驱动,使用的是Windows的devcon.exe,具体安装和卸载的原理可以参考微软官方的MSDN文档。以下两条devcon命令的说明转载自微软的MSDN:1.devcon install: https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/devcon-install2.devcon remove...

2018-03-27 15:53:13 502

openssl-1.0.2-libeay32,ssleay32库

基于OpenSSL的1.0.2版本编译的libeay32.lib,libeay32.dll,ssleay32.lib,ssleay32.dll. 可以用来做MD5加密,SHA256加密等等..

2018-06-07

空空如也

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

TA关注的人

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