<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[g96889的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/g96889</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; g96889]]></copyright><item><title><![CDATA[QT读写二进制文件]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/118212270</link><guid>https://blog.youkuaiyun.com/g96889/article/details/118212270</guid><author>g96889</author><pubDate>Fri, 25 Jun 2021 10:33:11 +0800</pubDate><description><![CDATA[1.定义结构体


    #pragma pack(1) //字节对齐
    struct ALARM_FILE
    {
        char	STATUS_DATA[9];
        char	STATUS_TIME[7];	
        int		AlarmNo;
        int		MONITOR_ALARM_FLAG;
    };
    ALARM_FILE alarmFile;

2.写二进制文件


    ALARM_FILE alarmFile;
    //]]></description><category></category></item><item><title><![CDATA[QT5 UDP通信]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/118092252</link><guid>https://blog.youkuaiyun.com/g96889/article/details/118092252</guid><author>g96889</author><pubDate>Mon, 21 Jun 2021 18:34:52 +0800</pubDate><description><![CDATA[#include&lt;QMetaType&gt;
用到的结构体数组
typedef struct _POSITION_CMD
{
    unsigned short	nComm;	
    unsigned char	Type;			
    unsigned char	Cmd;				
    unsigned char	Select;		
    int				EL;				
    int				Az;				
}POSITION_CMD;
Q_DECLARE_METATYPE(POSITION.]]></description><category></category></item><item><title><![CDATA[QT5 制作共享库文件]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/116056682</link><guid>https://blog.youkuaiyun.com/g96889/article/details/116056682</guid><author>g96889</author><pubDate>Fri, 23 Apr 2021 16:26:56 +0800</pubDate><description><![CDATA[QtWdiget 做成共享库，调用共享库实现功能。

1.制作共享库：







将sharedlib_global.h文件中 红框标注部分代码粘贴到 sharedlib.h文件中。经过测试发现不粘贴此部分代码程序也可以正常编译运行。




#if defined(SHAREDLIB_LIBRARY)
#  define SHAREDLIBSHARED_EXPORT Q_DECL_EXPORT
#else
#  define SHAREDLIBSHARED_EXPORT Q_DECL_IMPOR...]]></description><category></category></item><item><title><![CDATA[QT5 UDP通信]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/116048818</link><guid>https://blog.youkuaiyun.com/g96889/article/details/116048818</guid><author>g96889</author><pubDate>Fri, 23 Apr 2021 14:56:18 +0800</pubDate><description><![CDATA[QT版本：5.12.0

DUP通信

1、UDP通信概念

QUdpSocket类用于实现UDP通信,它从QAbstractSocket类继承，因而与QTcpSocket共享大部分的接口函数。主要区别是QUdpSocket以数据包传输数据，而不是连续的数据流。

发送数据包使用QUdpSocket::writeDataGram(),数据包的长度一般少于512字节，每个数据报包含发送者和接受者的IP地址和端口等信息。

要进行UDP数据接收，要用QUdpSocket::bind()函数先绑定一个端口，用于接]]></description><category></category></item><item><title><![CDATA[QT5 用户录入文字程序]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/116045228</link><guid>https://blog.youkuaiyun.com/g96889/article/details/116045228</guid><author>g96889</author><pubDate>Fri, 23 Apr 2021 11:16:02 +0800</pubDate><description><![CDATA[功能：label提示，文本编辑框，保存按钮，退出程序；用户录入文字保存到ini文件规定文件中

1读取ini文件

1.1.获取应用程序所在目录


QString strCurrentAppDirPath=QApplication::applicationDirPath();

1.2.利用QSettings可以把内存中的数据保存到电脑磁盘中，读取ini文件


QSettings iniFileRead(config.ini,QSettings::IniFormat);

1.3.获取ini文件中数据
]]></description><category></category></item><item><title><![CDATA[从1到n整数中1出现的次数：O(logn)算法]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/86498897</link><guid>https://blog.youkuaiyun.com/g96889/article/details/86498897</guid><author>g96889</author><pubDate>Tue, 15 Jan 2019 20:47:21 +0800</pubDate><description><![CDATA[1. 题目描述
输入一个整数n，求从1到n这n个整数的十进制表示中1出现的次数。例如输入12，从1到12这些整数中包含1的数字有1，10，11和12，1一共出现了5次。

2. 题目来源
第一次看到是在《剑指Offer》第2版上，面试题32。leetcode和牛客网上都有这道题。

3. 本文的目的
看了《剑指Offer》上的解法，我觉得不能算好：

这段解释描述有些不清晰，而且没有图，难以理解。...]]></description><category></category></item><item><title><![CDATA[《剑指offer》【滑动窗口的最大值】（python版）]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/85936385</link><guid>https://blog.youkuaiyun.com/g96889/article/details/85936385</guid><author>g96889</author><pubDate>Sun, 06 Jan 2019 17:02:21 +0800</pubDate><description><![CDATA[题目描述： 
给定一个数组和滑动窗口的大小，找出所有滑动窗口里数值的最大值。例如，如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3，那么一共存在6个滑动窗口，他们的最大值分别为{4,4,6,6,6,5}； 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个： {[2,3,4],2,6,2,5,1}， {2,[3,4,2],6,2,5,1}， {2,3,[4,2,6],2...]]></description><category></category></item><item><title><![CDATA[剑指offer——表示数值的字符串  C/C++]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/85881814</link><guid>https://blog.youkuaiyun.com/g96889/article/details/85881814</guid><author>g96889</author><pubDate>Sat, 05 Jan 2019 22:33:48 +0800</pubDate><description><![CDATA[题目描述：

请实现一个函数用来判断字符串是否表示数值（包括整数和小数）。例如，字符串”+100”,”5e2”,”-123”,”3.1416”和”-1E-16”都表示数值。 但是”12e”,”1a3.14”,”1.2.3”,”+-5”和”12e+4.3”都不是。

牛客网代码：觉得思路不错粘贴过来仅为记录

class Solution {

public:

    bool isNumeric...]]></description><category></category></item><item><title><![CDATA[剑指Offer-62：圆圈中最后剩下的数字 python]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/85872918</link><guid>https://blog.youkuaiyun.com/g96889/article/details/85872918</guid><author>g96889</author><pubDate>Sat, 05 Jan 2019 20:54:14 +0800</pubDate><description><![CDATA[摘要： 本文讲的是剑指Offer-62：圆圈中最后剩下的数字， 题目： 0、1…n-1这n个数字排成一个圆圈，从数字0开始，每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例子： 如0、1、2、3、4这5个数字组成一个圆圈，从数字0开始每次删除第3个数字，则删除

原文链接：https://blog.youkuaiyun.com/jiachen0212/article/details/80...]]></description><category></category></item><item><title><![CDATA[剑指Offer-题48（C++版）：最长不含重复字符的子字符串]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/85799217</link><guid>https://blog.youkuaiyun.com/g96889/article/details/85799217</guid><author>g96889</author><pubDate>Fri, 04 Jan 2019 20:53:00 +0800</pubDate><description><![CDATA[题目：最长不含重复字符的子字符串 
请从字符串中找出一个最长的不包含重复字符的子字符串，计算该最长子字符串的长度。假设字符串中只包含从’a’到’z’的字符。例如，在字符串中”arabcacfr”，最长非重复子字符串为”acfr”，长度为4。

主要思路：使用动态规划，记录当前字符之前的最长非重复子字符串长度f(i-1)，其中i为当前字符的位置。每次遍历当前字符时，分两种情况：

1）若当前字符第一...]]></description><category></category></item><item><title><![CDATA[牛客网 把数字翻译成字符串]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/85722454</link><guid>https://blog.youkuaiyun.com/g96889/article/details/85722454</guid><author>g96889</author><pubDate>Thu, 03 Jan 2019 21:38:02 +0800</pubDate><description><![CDATA[剑指Offer（第二版）面试题46：把数字翻译成字符串
题目要求：
给定一个数字，按照如下规则翻译成字符串：0翻译成“a”，1翻译成“b”…25翻译成“z”。一个数字有多种翻译可能，例如12258一共有5种，分别是bccfi，bwfi，bczi，mcfi，mzi。实现一个函数，用来计算一个数字有多少种不同的翻译方法。
1.动态规划

int Get_Translation(int num)
{
 ...]]></description><category></category></item><item><title><![CDATA[数组排成最小的数字  python]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/85567636</link><guid>https://blog.youkuaiyun.com/g96889/article/details/85567636</guid><author>g96889</author><pubDate>Tue, 01 Jan 2019 23:01:28 +0800</pubDate><description><![CDATA[ 算法知识视频讲解

题目描述

输入一个正整数数组，把数组里所有数字拼接起来排成一个数，打印能拼接出的所有数字中最小的一个。例如输入数组{3，32，321}，则打印出这三个数字能排成的最小数字为321323。

 

# -*- coding:utf-8 -*-
class Solution:
    def PrintMinNumber(self, numbers):
        if n...]]></description><category></category></item><item><title><![CDATA[Anaconda+PyQt5+pycharm桌面GUI开发]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/84400373</link><guid>https://blog.youkuaiyun.com/g96889/article/details/84400373</guid><author>g96889</author><pubDate>Fri, 23 Nov 2018 17:09:18 +0800</pubDate><description><![CDATA[根据电脑环境，结合两篇博客内容整理笔记。

原文1连接：https://blog.youkuaiyun.com/weixin_41929524/article/details/81456308

原文2连接：https://www.cnblogs.com/zhoug2020/p/9039993.html

安装PyQt5与Qt Designer

PyQt5

通常只要安装了Anoconda，就会默认装好Py...]]></description><category></category></item><item><title><![CDATA[青蛙跳台阶]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/84308473</link><guid>https://blog.youkuaiyun.com/g96889/article/details/84308473</guid><author>g96889</author><pubDate>Tue, 20 Nov 2018 19:37:01 +0800</pubDate><description><![CDATA[原文：https://blog.youkuaiyun.com/not_guy/article/details/78842473 

1、跳台阶

题目描述：一只青蛙一次可以跳上1级台阶，也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种方法？

解答：这种问题一般是有规律的，跳1级台阶，只有1种方法；跳2级台阶，有2种方法；跳2级台阶，有3种方法；跳4级台阶，有5种方法，依次下去，跳一个n级的台阶的方法数...]]></description><category></category></item><item><title><![CDATA[和为S的两个数字]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/84306162</link><guid>https://blog.youkuaiyun.com/g96889/article/details/84306162</guid><author>g96889</author><pubDate>Tue, 20 Nov 2018 17:17:07 +0800</pubDate><description><![CDATA[题目描述

输入一个递增排序的数组和一个数字S，在数组中查找两个数，使得他们的和正好是S，如果有多对数字的和等于S，输出两个数的乘积最小的。

输出描述:


对应每个测试案例，输出两个数，小的先输出。

class Solution {
public:
    vector&amp;lt;int&amp;gt; FindNumbersWithSum(vector&amp;lt;int&amp;gt; array,int sum...]]></description><category></category></item><item><title><![CDATA[牛客网 调整数组顺序使奇数位于偶数前面]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/84304908</link><guid>https://blog.youkuaiyun.com/g96889/article/details/84304908</guid><author>g96889</author><pubDate>Tue, 20 Nov 2018 16:26:31 +0800</pubDate><description><![CDATA[题目描述

输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有的奇数位于数组的前半部分，所有的偶数位于数组的后半部分，并保证奇数和奇数，偶数和偶数之间的相对位置不变。

class Solution {
public:
    void reOrderArray(vector&amp;lt;int&amp;gt; &amp;amp;array) {
            vector&amp;lt;int&amp;gt;...]]></description><category></category></item><item><title><![CDATA[跳台阶 牛客网]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/84304581</link><guid>https://blog.youkuaiyun.com/g96889/article/details/84304581</guid><author>g96889</author><pubDate>Tue, 20 Nov 2018 16:11:43 +0800</pubDate><description><![CDATA[时间限制：1秒 空间限制：32768K 热度指数：312259

 算法知识视频讲解

题目描述

一只青蛙一次可以跳上1级台阶，也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法（先后次序不同算不同的结果）。

class Solution {
public:
    int jumpFloor(int number) {
            if (number == 1){
  ...]]></description><category></category></item><item><title><![CDATA[斐波那契数列 C++]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/84289904</link><guid>https://blog.youkuaiyun.com/g96889/article/details/84289904</guid><author>g96889</author><pubDate>Tue, 20 Nov 2018 11:16:13 +0800</pubDate><description><![CDATA[斐波那契数列 

时间限制：1秒 空间限制：32768K 热度指数：404214

 算法知识视频讲解

题目描述

大家都知道斐波那契数列，现在要求输入一个整数n，请你输出斐波那契数列的第n项（从0开始，第0项为0）。

n&amp;lt;=39

class Solution {
public:
    int Fibonacci(int n) {
    int pre_two = 0;
    i...]]></description><category></category></item><item><title><![CDATA[牛客网 第一个只出现一次的字符]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/84288396</link><guid>https://blog.youkuaiyun.com/g96889/article/details/84288396</guid><author>g96889</author><pubDate>Tue, 20 Nov 2018 10:54:31 +0800</pubDate><description><![CDATA[牛客网 第一个只出现一次的字符

时间限制：1秒 空间限制：32768K 热度指数：198167

本题知识点： 字符串

 算法知识视频讲解

题目描述

在一个字符串(0&amp;lt;=字符串长度&amp;lt;=10000，全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1（需要区分大小写）.

 

class Solution {
public:
int FirstN...]]></description><category></category></item><item><title><![CDATA[牛客网 空格替换 C++]]></title><link>https://blog.youkuaiyun.com/g96889/article/details/84190684</link><guid>https://blog.youkuaiyun.com/g96889/article/details/84190684</guid><author>g96889</author><pubDate>Sat, 17 Nov 2018 17:21:08 +0800</pubDate><description><![CDATA[时间限制：1秒 空间限制：32768K 热度指数：740599

本题知识点： 字符串

题目描述

请实现一个函数，将一个字符串中的每个空格替换成“%20”。例如，当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

#include&amp;lt;iostream&amp;gt;
using namespace std;
#include&amp;lt;cstring&amp;gt...]]></description><category></category></item></channel></rss>