自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 C++ 设计模式--工厂模式

其实感觉对于工厂模式的实现,看到第二种方式就差不多了,第三种只是在第二种基础上再增加一个类而已。之前在前司的时候项目中的代码有看到过这种设计模式的,当时还不了解设计模式,当时调代码的时候一步一步的走到了父类,父类还是一个模版,所以印象深刻。定义一个创建对象的接口,让其子类自己决定实力化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。工厂模式:利用C++多态的特性,对对象的创建进行封装。

2024-07-29 15:33:29 289

原创 C++设计模式--单例模式

单例模式是为了:在整个系统生命周期内,保证一个类只能产生一个实例,确保该类的唯一性。

2024-07-29 11:39:59 380

原创 关于二进制和八进制

从右往左:第一位表示2的0次方,第二位表示2的1次方,第n位表示2的n-1次方。无论十六进制还是二进制,换算成十进制的时候,都可以从左到右进行计算,最左边不为0的表示为最高位。不是计算机专业的,大二的时候学过,一直是知道但是怎么明确计算的,一直云里雾里的。举例:二进制:0000 0101转换为10进制的计算就是:从右向左计算。从左向右:第一个为1的位置表示为最高次。1表示有,0表示无。还是以上面的130D(16)为例,从左向右,最左边的为最高位。计算到第4位,从第5为开始后面都是0,就不需要计算了。

2024-07-19 16:43:17 246

原创 QTreeWidget 树遍历

不得不感叹,之前写算法的时候写到树的深度和广度遍历,用纯C++写,虽然代码量也不多,但是要递归。现在用了QT,广度遍历直接一个接口就搞定了,封装好的接口真好用啊!路径,做成一棵树的样式展示出来。其实倒不是说是问题,只是记录写这块儿的代码的思路。中第一个元素是公共的路径,也就是树的根节点。在项目中遇到一个问题:需要将。进行分割的,分割后的。

2024-07-09 10:12:55 612

原创 C++ tcp中的可变长度结构体的序列化和反序列化

近日,在项目里,需要对tcp传输的数据进行序列化和反序列化,有很多方法,记录下来。:使用tcp传输的时候需要注意字节对齐的问题,在以下代码中统一使用单字节对齐。类型中包含有中文的话,需要转编码格式,上述的编码格式转换适用于windows。用纯C++来进行序列化和反序列化可变结构体比较有意思,其实也就是。来序列化和反序列化的(第一种方法),项目在调试的时候,发现使用。如果是用QT写的,结构体拿到值以后,可以使用。来进行序列化和反序列化,可以参考这个。序列化定义了自己的风格。序列化,但是我反序列化不是用。

2024-06-27 17:44:25 491

原创 C++中的多线程

如果需要一个带超时的尝试锁定功能,则要使用 std::condition_variable 或者 std::future 与 std::async 来实现。try_lock()是std::mutex 类的一个成员函数,用于尝试锁定互斥锁,如果锁被被其他线程持有,它不会阻塞当前线程,而是里面返回一个表示是否成功获取锁的布尔值。由可锁对象自己加锁;一般在对锁加锁后需要解锁,不解锁会造成死锁的情况,所以推荐使用。从上面可以看出线程是并行运行的,两次打印的内容不一致。并行计算了,两个线程计算的结果是不一样的。

2024-05-31 09:18:02 1020

原创 SOCKET通信-TCP/IP,libevent

后来的时候同事给我说使用libevent库更好用,后面学习了一下就用libevent库了,简单的实现了一下TCP/IP,反正都不难,下面这块代码是在网上找的,具体连接我找不到了,先把代码放这。上面代码是纯C++的,之前学习socket的时候是学的QT,所以附上QT的代码,在QT里面是写的一个mainwindow类。里面用了多线程,一个线程用来读,一个线程用来写,总的来说都比较简单,属于有手就会,也不难理解。同样的,如果是在同一台电脑客户端和服务端在两个VS项目中打开,将客户端的。在server端代码。

2024-05-17 17:50:09 538

原创 关于CUDA不使用cufft库编写FFT代码

因为自己对cuda不熟悉,但是项目需求要并发计算FFT,所以总结下来,自己最近查的有效资料。

2023-12-27 10:45:19 600

原创 SVN在服务器新建文件夹,并将本地代码上传到服务器

之前一直用的git,没有用过svn,所有不太会操作,记录下来。svn应该能切换版本,看到以前版本上传的代码吧?

2023-12-18 15:46:39 1653

原创 【vue - ant design vue】v-for 循环实现标签页动态切换

在vue中用 v-for 动态的实现标签页的切换

2023-02-17 17:08:36 2570

原创 leetcode 刷题

LeetCode 53 简单给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。class Solution {public: int maxSubArray(vector<int>& nums) { int max_sum = INT_MIN; int res = 0; for (int left = 0; left < nums.

2021-12-05 16:23:07 170

原创 leetcode 刷题

LeetCode 35 简单给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法class Solution {public: int searchInsert(vector<int>& nums, int target) { int pos = -1; if (target > nums[nums.size() - 1

2021-12-05 10:54:46 473

原创 leetcode 28

leetcode 28 简单 实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。class Solution {public: int strStr(string haystack, string needle) { if(needle.length() == 0) return 0;

2021-11-28 16:16:49 316

原创 Leetcode刷题

LeetCode 27 简单 移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。class Solution {public: int removeElement(vector<int>& nums, int val) { if (nums.

2021-11-21 15:47:42 340

原创 leetcode 刷题

LeetCode 26【简单】删除有序数组中的重复项给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。class Solution {public: int removeDuplicates(vector<int>& nums) { if (nums.size() == 0 ) ret

2021-11-21 11:15:20 412 1

原创 leetcode刷题

LeetCode 21 简单将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode* head = new ListNode(); ListNode* last = head; while (l1 != nullptr

2021-11-14 16:54:08 981

原创 leetcode 刷题

LeetCode [20] 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。class Solution {public: bool isValid(string s) { unordered_map<char, char> m = { {')', '('}, {']'

2021-10-31 17:22:56 212

原创 leetcode刷题

leetcode 14[简单] 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。class Solution {public: string longestCommonPrefix(vector<string>& strs) { string res = ""; if (strs.empty()) return res; string str_min = s

2021-10-31 11:09:22 81

原创 Leetcode 刷题

leetcode 13[简单] 罗马数字转整数罗马数字转整数,有一些不是按照小的数字在大的数字右边进行排序的,需要注意,如“IV” = 4//include<map>class Solution {public: int romanToInt(string s) { map<char, int> m = {{'I', 1}, {'V', 5}, {'X', 10}, {'L', 50}, {'C', 100}, {'D', 500}, {'M', 10

2021-10-24 11:52:40 105

原创 LeetCode 刷题

leetcode 09[简单] 回文数题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。新手解法:class Solution {public: bool isPalindrome(int x) { if(x < 0) { return false; }

2021-10-24 10:33:31 106

原创 LaTeX参考文献不加编号

@[latex](LaTeX参考文献不加编号)主要是在投稿论文的时候,有一些期刊要求参考文献不加编号,但是在期刊所给的模板中,却没有参考文献的代码。上一次自己在编写不加编号的参考文献的时候找了很久的资料没有完整版的,浪费了很多时间,故记下来。我用的方法是添加一个.bib文件的样式。首先就是在正文的.tex 目录下新建一个.bib 文件,我的正文文件名为sample.tex,我建立的参考文献名为sample.bib,在sample.bib里面存放在图书馆上下载下来的参考文献格式,具体的方法步骤见此链

2021-03-11 10:02:23 13091 1

原创 python insert

记录insert的用法标准是:L.insert(index, object)index:对象obj需要插入的索引值object:要插入列表中的对象如:L1 = ['Google', 'Runoob', 'Taobao']L1.insert(1, 'Baidu')print(L1)>>>['Google', 'Runoob', 'Taobao', 'Baidu']特别注意一点****L1 = ['Google', 'Runoob', 'Taobao']L1.inser

2020-08-10 16:08:31 260

原创 python map函数

map函数格式:map(function, iterable, ....)function:函数iterable:需要传入函数里面的变量例:>>>def dfs(x):... return x ** 2...>>>map(dfs, [1,3,4,5,7])[1, 9, 16, 25, 49]>>>map(lambda x: x ** 2, [1,3,4,5,7])[1, 9, 16, 25, 49]>>>map(l

2020-08-04 10:19:17 109

原创 nums和nums[:]

python区别nums = A和nums[:] = Anums = A 更改nums这一变量名所指的对象,让nums变量指向A所指向的对象nums[:] = A 对nums指向的对象赋值,把A变量指向的对象的值逐个复制到nums指向的对象中并覆盖nums指向的对象的原来值。nums[:] 等价于 nums[0:len(nums)] 相当于取nums对应对象的一个视图,通过用这个来改变原对象的某几位值。如:A[:2] = [0, 1],改变了A所指向的list对象的前两个值。A = [0 ,1]

2020-08-01 16:36:39 4663 1

原创 if xx: 与if xx is not None:

主要是为了记录python中的if xx: 与if xx is not None:细节问题。if xx is not None: = if xx != Noneif xx: = if xx != None and xx != " " and xx != False and xx != 0 and xx != [] and xx != {} and....xx is not None 只是判断xx是不是 None 类型,如果不是None 类型,则返回True。假设xx==0, 那么 if xx 返回值

2020-07-22 11:23:11 982

原创 MySQL WORKBENCH 8.0导入excel表格

在导入数据之前我也看了很多的博客介绍怎么导入数据的,在这篇文章中写的很清楚点这里,但是我在用这个记事本转码的时候仍然出现了问题Can’t analyze the file, please try to change encoding type…,我觉得肯定还是转码那里有问题,记事本没有把编码转为UTF-8。所以我怀疑是我的MySQL版本太高了?故我又去搜索在MySQL WORKBENCH 8.0版本下怎么导入,我发现了这个链接点这里,这两个步骤都是一样的,只是在转码那里不一样,我用这个方法转码但是还是出现

2020-07-08 09:51:25 1274 3

原创 字节跳动数据挖掘笔试

记录字节跳动数据挖掘第三场笔试题题型:单选7道,不定项3道,编程3道(单选涉及Linux, SQL)1. 怎么解决数据倾斜① 增加reduce的个数,② 重新设计key,有一种方案是在map阶段时给key加上一个随机数,有了随机数的key就不会被大量的分配到同一节点,待到reduce后再把随机数去掉即可。③ 使用combinner合并,combinner是在map阶段,reduce之前的一个中间阶段,在这个阶段可以选择性的把大量的相同key数据先进行一个合并,可以看做是local reduce,然后再

2020-05-11 21:00:02 1675

原创 SQLmore join

碰到了一个让我自己想,会做不起的题尊·特拉華達’John Travolta’最忙是哪一年?`顯示年份和該年的電影數目SELECT yr,COUNT(title)FROM movie JOIN casting ON movie.id=movieidJOIN actor ON actorid=actor.idwhere name='John Travolta'GROUP BY yrHAVING COUNT(title)=(SELECT MAX(c) FROM(SELECT yr,COUNT(

2020-05-09 19:59:12 355

原创 SQL more join

9.列出演員夏里遜福 ‘Harrison Ford’ 曾演出的電影。select titlefrom movie, actor, castingwhere movie.id=casting.movieidand actor.id=casting.actoridand name = 'Harrison Ford';做到这里明白了为什么要链接三个表,因为大前提上给的movie和actor之间没有共同外键,单纯的想连接这两个表就不行,所以只能通过casting做为中间表来进行连接。...

2020-05-09 19:14:46 178

原创 "The name 'input/Vs:0' refers to a Tensor which does not exist. The operation, 'input/Vs', does not

记录tensorflow调试中出现的问题:“The name ‘input/Vs:0’ refers to a Tensor which does not exist. The operation, ‘input/Vs’, does not exist in the graph.”在下面这篇博客中找到了解决方法大佬博客地址这个是本来写的代码出现问题的地方是Vs = sess.graph....

2020-03-08 20:00:41 1528

空空如也

空空如也

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

TA关注的人

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