02 2023 档案

摘要:一、题目 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 二、思路 我觉得这道题目的思想是: 走完这一生 如果我和你在一起会变得更好,那我们就在一起,否则我就丢下你。 我回顾我最光辉的时刻就是和不同人在一起 阅读全文
posted @ 2023-02-28 10:26 ImreW 阅读(11) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 二、思路 因为超过n/2的数组下标被众数占据了,这样我们随机挑选一个下标对应的元素并验证,有很大的概率能找到众 阅读全文
posted @ 2023-02-27 21:34 ImreW 阅读(16) 评论(0) 推荐(0) 编辑
摘要:一、基础 (一)WSAEVENT 1.说明 WSAEVENT 类型本质上就是使用 CreateEvent 创建的 Event 对象: 2.有关原型 #define WSAEVENT HANDLE (二)WSA_MAXIMUM_WAIT_EVENTS 1.说明 事件对象句柄的最大数目 是WSA_MAX 阅读全文
posted @ 2023-02-26 21:53 ImreW 阅读(213) 评论(0) 推荐(0) 编辑
摘要:一、临界区 (一)概念 临界区指的是一个访问公共资源的程序片段,这些公共资源又无法同时被多个线程同时访问。当有线程进入临界区段时,其他线程或是进程必须等待,以确保这些公共资源是被互斥获得使用。 每个线程中访问临界资源的那段代码称为临界区 (Critical Section),每次只准许一个线程进入临 阅读全文
posted @ 2023-02-26 21:01 ImreW 阅读(156) 评论(0) 推荐(0) 编辑
摘要:(一)解析 在对一个进程的通信部分做分析时反复遇到了这四类函数,特做此记录。 LOWORD:取32位数的低16位 HIWORD:取32位数的高16位 LOBYTE:取16位数的低8位 HIBYTE:去16位数的高8位 ps:LOBYTE、HIBYTE应用于32位数时,会取32位数后16位数的高低8位 阅读全文
posted @ 2023-02-26 14:38 ImreW 阅读(471) 评论(0) 推荐(0) 编辑
摘要:C++中经常使用的作用符::,作用如下: (一)作用域限定符。 在类体内申明函数,并在类体外定义函数时,必须在定义函数时加上类名和作用域限定符。 class MyClass{ public: int num; int fun();//类体内申明函数 }; //类体外定义函数 int MyClass: 阅读全文
posted @ 2023-02-26 14:21 ImreW 阅读(239) 评论(0) 推荐(0) 编辑
摘要:首先是需要的头文件和库: #include<WinSock2.h> #pragma comment(lib,"ws2_32.lib") Tcp连接的简单示例 一、服务器 主要流程及主要函数: 网络环境初始化:WSAStartup 创建服务器套接字:socket 绑定本机IP和端口:bind 监听客户 阅读全文
posted @ 2023-02-26 13:59 ImreW 阅读(24) 评论(0) 推荐(0) 编辑
摘要:一、CPU (一)CPU个数、CPU核心数、CPU线程数 CPU个数即CPU芯片个数 CPU的核心数是指物理上,也就是硬件上存在着几个核心。比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组。 线程数是一种逻辑的概念,简单地说,就是模拟出的CPU核心数。比如, 阅读全文
posted @ 2023-02-26 13:35 ImreW 阅读(14) 评论(0) 推荐(0) 编辑
摘要:一、信号量 1.说明 信号量是一个同步对象,用于维护零和指定最大值之间的计数。 每次线程完成信号灯对象的等待时,计数都会递减,每次线程释放信号灯时递增。 当计数达到零时,不会再成功等待信号灯对象状态发出信号。 当信号量计数大于零时,会将信号量的状态设置为已发出信号;当信号量计数为零时,会将信号量的状 阅读全文
posted @ 2023-02-26 13:15 ImreW 阅读(42) 评论(0) 推荐(0) 编辑
摘要:格式控制符 说明 %c 输出一个单一的字符 %hd、%d、%ld 以十进制、有符号的形式输出 short、int、long 类型的整数 %hu、%u、%lu 以十进制、无符号的形式输出 short、int、long 类型的整数 %ho、%o、%lo 以八进制、不带前缀、无符号的形式输出 short、 阅读全文
posted @ 2023-02-26 12:38 ImreW 阅读(438) 评论(0) 推荐(0) 编辑
摘要:一、题目 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 二、思路 数组达到有序需要的元素间的交换次数与逆序对个数有关系,也就是说交换次数越多逆序对个数越少。 到了这个地步基本可以猜出排序可能就是解题的方法了,那么常用的要 阅读全文
posted @ 2023-02-26 10:29 ImreW 阅读(10) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 二、思路 创建一个哈希表,然后从左往右遍历数组。 检测哈希表中是否已存在当前字符,若存在,直接返回结果,若不存在,将当前字符加入哈希表,供后续判断使用即可。 阅读全文
posted @ 2023-02-25 13:51 ImreW 阅读(8) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 二、思路 选择中间位置左边的数字作为根节点,则根节点的下标为 mid=(left+right), 阅读全文
posted @ 2023-02-24 12:03 ImreW 阅读(10) 评论(0) 推荐(0) 编辑
摘要:一、题目 给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。 二、思路 分治思路: 对于当前String s,历遍并将所有字符进行出现次数记录 重新历遍String,如果发现其出现次数少于k,以当前i前后分别再调用l 阅读全文
posted @ 2023-02-23 21:44 ImreW 阅读(16) 评论(0) 推荐(0) 编辑
摘要:一、题目 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。 二、思路 规则定义: 设学生 阅读全文
posted @ 2023-02-22 18:39 ImreW 阅读(7) 评论(0) 推荐(0) 编辑
摘要:Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理。 (一)介绍 假设我们有一个CustomerInfoDialog控件,由一些QLineEdit控件组成。我们希望使用Space键得到下一个QLineEdit的输入焦点。一个最直接 阅读全文
posted @ 2023-02-22 12:44 ImreW 阅读(183) 评论(0) 推荐(0) 编辑
摘要:一、位运算符 (一)真值表 位运算符作用于位,并逐位执行操作。“与” “&”、“或” “|” 和 “异或” “^" 的真值表如下所示: pqp&qp|qp^q 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 (二)例子 假设如果 A = 60,且 B = 13,现在以 阅读全文
posted @ 2023-02-21 22:09 ImreW 阅读(127) 评论(0) 推荐(0) 编辑
摘要:(一)解决方案 1.方案 在 student.h 中 #ifndef STUDENT_H #define STUDENT_H #include <QObject> class Student : public QObject { Q_OBJECT public: explicit Student(Q 阅读全文
posted @ 2023-02-21 21:54 ImreW 阅读(40) 评论(0) 推荐(0) 编辑
摘要:(一)整个窗体 targetForm->setWindowOpacity() ; 函数即可实现,效果为窗体及窗体内所有控件都透明化了 (二)自定义页面或控件 当设置一个QWidget(一般自定义页面或控件时用QWidget)时,直接设置其窗体透明度无法实现透明效果,目前找到的方法是将整个QWidge 阅读全文
posted @ 2023-02-21 21:30 ImreW 阅读(944) 评论(0) 推荐(0) 编辑
摘要:一、const的基本概念 const名叫常量限定符,用来限定特定变量,以通知编译器该变量是不可修改的。习惯性的使用const,可以避免在函数中对某些不应修改的变量造成可能的改动。 二、const修饰基本数据类型 (一)const修饰一般常量及数组 int const a = 100; const i 阅读全文
posted @ 2023-02-21 15:36 ImreW 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一、题目 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入  阅读全文
posted @ 2023-02-21 14:13 ImreW 阅读(22) 评论(0) 推荐(0) 编辑
摘要:策略模式github 阅读全文
posted @ 2023-02-20 21:01 ImreW 阅读(12) 评论(0) 推荐(0) 编辑
摘要:原文链接:C++ 智能指针 一、使用智能指针原因 智能指针就是帮C++程序员管理动态分配的内存的,它会帮助我们自动释放new出来的内存,从而避免内存泄漏! 如下例子就是内存泄露的例子: #include <iostream> #include <string> #include <memory> u 阅读全文
posted @ 2023-02-20 19:53 ImreW 阅读(29) 评论(0) 推荐(0) 编辑
摘要:一、题目 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 二、思路 二分查找 注意考虑大小为1之类,所以开头是要可以left=right,这样就考虑了left和right,所以 阅读全文
posted @ 2023-02-20 15:03 ImreW 阅读(11) 评论(0) 推荐(0) 编辑
摘要:一、程序的内存分配 (〇)存储器 RAM: 随机存取存储器(random access memory)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。 它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。存储单元的内容可按需随意取出或存 阅读全文
posted @ 2023-02-19 14:39 ImreW 阅读(1553) 评论(0) 推荐(1) 编辑
摘要:(一)默认参数 C++函数中的形参列表中的形参是可以有默认值的 语法:返回值类型 函数名(参数 = 默认值){} 注意事项: 如果我们自己传入数据,就用自己的数据,如果没有,就用默认值 如果某个位置参数有默认值,那么从这个位置往后,从左往右,必须都要有默认值 如果函数声明有默认参数,函数实现就不能有 阅读全文
posted @ 2023-02-18 21:30 ImreW 阅读(38) 评论(0) 推荐(0) 编辑
摘要:一、override override的翻译是覆盖。实际上它在C++中可以检测哪些虚函数没有被重写并报错 注:在派生类的成员函数中使用override时,如果基类中无此函数,或基类中的函数并不是虚函数,编译器会给出相关错误信息。 void paintEvent(QPaintEvent*)overri 阅读全文
posted @ 2023-02-18 21:14 ImreW 阅读(8) 评论(0) 推荐(0) 编辑
摘要:一、QGridLayout(表格布局) (一)使用QGridLayout控件的思路 在新建QGridLayout对象之前,应该先将在将使用到的控件进行初始化。 1.初始化布局 新建QGridLayout之后,在桌面上就会出现一个网格状的布局,这个布局是看不见的,如下表格一样,那么如何确定这样的表格有 阅读全文
posted @ 2023-02-18 20:04 ImreW 阅读(131) 评论(0) 推荐(0) 编辑
摘要:当发生一下情况时会产生绘制事件并调用paintEvent()函数: 1.在窗口部件第一次显示时,系统会自动产生一个绘图事件,从而强制绘制这个窗口部件。 2.当重新调整窗口部件的大小时,系统也会产生一个绘制事件。 3.当窗口部件被其他窗口部件遮挡,然后又再次显示出来的时候,就会对那些隐藏的区域产生一个 阅读全文
posted @ 2023-02-18 16:42 ImreW 阅读(433) 评论(0) 推荐(0) 编辑
摘要:(一)delete一个指针之后设置为nullptr原因 我们在用动态内存分配时,可以使用new在动态内存中为对象分配空间并返回一个指向该对象的指针,比如说int* ptr = new int(1);,在自由空间构造一个int型对象,并返回指向该对象的指针给int* ptr。(注意:ptr只是一个变量 阅读全文
posted @ 2023-02-18 16:34 ImreW 阅读(431) 评论(0) 推荐(0) 编辑
摘要:1、raise() 将此窗体提升到父窗体堆栈的顶部。在此调用之后,窗体将位于任何重叠的同级窗体的前面。 注意:在使用activateWindow()时,可以调用这个函数来确保窗口被堆叠在顶部。 void QWidget::activateWindow(): 将包含此窗体的顶级窗体设置为活动窗口。活动 阅读全文
posted @ 2023-02-18 14:42 ImreW 阅读(199) 评论(0) 推荐(0) 编辑
摘要:(一)介绍 QSound类提供了一种播放.wav声音文件的方法。 (二)部分函数 void QSound::setLoops(int number)//该方法主要设置播放音频的循环次数 void QSound::stop()//停止播放的函数 int QSound::loopsRemaining() 阅读全文
posted @ 2023-02-17 20:40 ImreW 阅读(333) 评论(0) 推荐(0) 编辑
摘要:QString是Qt编程中常用的类,除了用作数字量的输入输出之外,QString还有很多其他功能,熟悉这些常见的功能,有助于灵活地实现字符串处理功能。 QString存储字符串采用的是Unicode码,每一个字符是一个16位的QChar,而不是8位的char,所以Qstring处理中文字符没有问题, 阅读全文
posted @ 2023-02-17 14:08 ImreW 阅读(491) 评论(0) 推荐(0) 编辑
摘要:(一)窗口类型的选择 在初始化各种窗口的时候,是选择QMainWindow,Qwidget,还是QDialog类型呢?这个主要看该窗口的功能。 如果作为主窗口(比如交互窗口,游戏窗口)存在的话,选择QMainWindow类型最合适,因为QMainWindow可以搭载工具栏和状态栏,这些功能选择组件在 阅读全文
posted @ 2023-02-17 13:24 ImreW 阅读(25) 评论(0) 推荐(0) 编辑
摘要:一、A*算法 (一)算法思路 A*算法通过下面这个函数来计算每个节点的优先级。 f(n)=g(n)+h(n) 其中: f(n) 是节点n的综合优先级。当我们选择下一个要遍历的节点时,我们总会选取综合优先级最高(值最小)的节点。 g(n) 是节点n距离起点的代价。 h(n) 是节点n距离终点的预计代价 阅读全文
posted @ 2023-02-14 15:53 ImreW 阅读(167) 评论(0) 推荐(0) 编辑
摘要:一、Dijkstra算法简介 Dijkstra算法是解决单源最短路径问题的贪心算法 该算法在计算的时候将所有的点分为两个集合,一个是目标点集U,初始时只有起点,Dijkstra算法的功能是,给定一个起点,计算它到其他所有点的最短路径 二、Dijkstra算法的基本思想 设置两点顶点的集合U和T,集合 阅读全文
posted @ 2023-02-13 22:06 ImreW 阅读(760) 评论(0) 推荐(1) 编辑
摘要:一、VS2019调用QT 解决中文乱码问题 在工程文件的xxx.h开头处添加以下代码: #ifdef WIN32 #pragma execution_character_set("utf-8") #endif 二、文字显示 (一)setAlignment 1.显示按钮上的文字 //按钮上显示的文字 阅读全文
posted @ 2023-02-09 14:58 ImreW 阅读(136) 评论(0) 推荐(0) 编辑
摘要:一、设置图片 (一)setIcon 以QPushButton为例,设置按钮的图标可以使用函数setIcon,设置图标大小使用setIconSize。 QPixmap pix; //设置图片固定大小 this->setFixedSize(pix.width(),pix.height()); //设置不 阅读全文
posted @ 2023-02-08 14:13 ImreW 阅读(722) 评论(0) 推荐(0) 编辑
摘要:一、介绍 类名 功能介绍 QAbstractAnimation 动画基类 提供基本的动画属性和接口,它有两个子类QVariantAnimation 和QAnimationGroup。 QAbstractAnimation是其他所有类的父类。 它提供了基础的属性,适用于所有的本框架下的动画。 QPro 阅读全文
posted @ 2023-02-08 12:59 ImreW 阅读(160) 评论(0) 推荐(0) 编辑
摘要:一、Qt信号和槽机制&emit的使用 (一)相关概念 1.信号(Signal)就是在特定情况下被发射的事件 例如PushButton 最常见的信号就是鼠标单击时发射的 clicked() 信号,一个 ComboBox 最常见的信号是选择的列表项变化时发射的 CurrentIndexChanged() 阅读全文
posted @ 2023-02-07 19:26 ImreW 阅读(178) 评论(0) 推荐(0) 编辑
摘要:一、按键属性 (一)Qt::WA_TransparentForMouseEvents 实现鼠标穿透功能,类似“隔空取物、隔山打牛”的效果。 //qwidget.h void setAttribute(Qt::WidgetAttribute, bool on = true); 启用后,此属性将禁止向小 阅读全文
posted @ 2023-02-07 16:45 ImreW 阅读(162) 评论(0) 推荐(0) 编辑
摘要:一、qDebug qDebug用于在控制台输出调试信息,主要有以下几种用法。 1、类似c++的cout函数 QString str=“world”; qDebug()<<“hello “<<str<<”!”<<endl; 注:此处endl起到的作用有两个: a、等同于\n换行 b、刷新缓冲区,将缓冲 阅读全文
posted @ 2023-02-07 16:30 ImreW 阅读(309) 评论(0) 推荐(0) 编辑
摘要:(一)QPushButton QPushButton继承自 QAbstractButton ,后者继承自 QWidget 。 (二)常用属性和方法 (1) QString text () const: 返回按键上的文字;(2) void setText ( const QString & text 阅读全文
posted @ 2023-02-07 16:23 ImreW 阅读(35) 评论(0) 推荐(0) 编辑
摘要:一、基础窗口部件QWidget (一)QWidget类 QWidget类是所有用户界面对象的基类。 QWidget继承自QObject类和QPaintDevice类。QObject是所有支持Qt对象模型的对象的基类,QPaintDevice类是所有可以绘制的对象的基类。 几乎所有的部件都继承自QWi 阅读全文
posted @ 2023-02-07 16:16 ImreW 阅读(83) 评论(0) 推荐(0) 编辑
摘要:1.QChar 表示一个字符的类,包含于QtCore 判断: bool isDigit() const;//判断是否是十进制数字('0'-'9')bool isLetter() const;//判断是否是字母bool isNumber() const;//判断是否是数字,包括正负号,小数点等bool 阅读全文
posted @ 2023-02-07 15:52 ImreW 阅读(138) 评论(0) 推荐(0) 编辑
摘要:新建好Qt的工程之后,总是会在MainWindow函数中有一行代码 ui->setupUi(this); ui->setupUi(this)是由.ui文件生成的类的构造函数,这个函数的作用是对界面进行初始化,它按照我们在Qt设计器里设计的样子把窗体画出来,把我们在Qt设计器里面定义的信号和槽建立起来 阅读全文
posted @ 2023-02-07 15:29 ImreW 阅读(329) 评论(0) 推荐(0) 编辑
摘要:(一)基本使用 timer.setInterval(1000); 设置间隔 connect(&timer, &QTimer::timeout, this, [&](){ ... }); 监听定时器 timer.start(); 开启定时器 timer.stop(); bool ret = timer 阅读全文
posted @ 2023-02-04 15:37 ImreW 阅读(66) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示