自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 问答 (1)
  • 收藏
  • 关注

原创 基于C++ DNN部署Yolov8出现的问题记录

帮助大家解决Yolov8部署C++问题

2024-04-19 09:20:32 644 1

原创 部署YOLOv8模型的实用常见场景

部署YOLOv8模型的车辆场景

2024-03-05 13:38:15 173

原创 分享AI经典书籍(开源免费)

花书/西瓜书/南瓜书西瓜书:

2024-02-23 16:20:09 417

原创 2023年的AI模型学习/部署/优化

LDC边缘检测的轻量级密集卷积神经网络:segment-anything分割一切的图像分割算法模型:YOLO For 3D Object Detection模型(YOLOV5):DeDoDe图像局部特征匹配模型:LSTR车道线检测模型:SuperGlue Inference and Evaluation Demo Script图像特征点匹配算法:DIS高精度图像二类分割模型:null。

2024-02-23 14:12:32 1987

原创 opencv4.3根据Cmake重新编译后的50项lib库

opencv_aruco430d.libopencv_bgsegm430d.libopencv_bioinspired430d.libopencv_calib3d430d.libopencv_ccalib430d.libopencv_core430d.libopencv_datasets430d.libopencv_dnn_objdetect430d.libopencv_dnn_superres430d.libopencv_dnn430d.libopencv_dpm430d.libop

2020-07-07 12:26:37 814 1

原创 wxwidgets配置x64模块(vs2017平台)

wxwidgets多数人配置x86模块,但很少有人用x64模块,x64可以让vs2017中配置的opencv3进行一起使用,所以这里推荐在如图vc15用vs2017打开,并将x86的32位改成x64的64模块进行再次生成。最后生成结束会得到x64的lib文件,普通lib是32位的,所以和opencv不能一起使用,最后在配置项目的时候,都改成x64位就可以和opencv一起是用来,祝大家学习顺利。...

2020-06-17 11:07:37 759

原创 leet code 674.最长连续递增序列

思路:以1、3、5、4、7为例,从i=1开始循环,当后面第j个数开始不递增时,作为i = 1的递增长度。当i = k时,第k个数的递增长度大于数组长度一半以上时,直接返回i = k时的对应递增长度。如果不大于数组的一半时,则找到所有递增长度的最大值。class Solution(object): def findLengthOfLCIS(self, nums): """ :type nums: List[int] :rtype: int ..

2020-07-30 10:26:49 149

原创 leet code 670 最大交换

自己思路:以98368为例,第一位9是否比后面的四位数字都大,第二位8是不是比后面三位数字都大,第三位3是不是比后两位数字都大,不是,那么进入循环,找到后面两位中的最大值,然后进行换位。然后return结果。class Solution(object): def maximumSwap(self, num): """ :type num: int :rtype: int """ str1 = str(num)..

2020-07-29 16:37:06 147

原创 leet code 112. 路径总和

原理:利用嵌套,让f(root,sum) = f(root->right,sum-root.val) ||f(root->left,sum-root.val),最后到尾节点时候是否sum为0/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeN...

2019-09-27 16:46:36 70

原创 leet code 217. 存在重复元素

两种解决方案:1,暴力解决法;2.排序法,3.哈希表查找法1.暴力解决法,就是双循环,进行判断2.排序法是先排序,排序后单循环判断两两间是否有相同大小的元素3.哈希表查找是基于哈希表是顺序表的原理。class Solution {public: bool containsDuplicate(vector<int>& nums) { ...

2019-09-27 11:01:57 67

原创 leet code 203. 移除链表元素

原理:就是将链表遍历,用cur指向head节点前一位,用cur->next==val判断是否是改变的节点,如果是,那么cur->next=cur->next->next,否者cur=cur->next。直到cur->next==NULL;/** * Definition for singly-linked list. * struct ListNo...

2019-09-27 10:46:07 99

原创 leet code 202. 快乐数

原理:就是n差分成个十百千万多位数,保存在数组里面,然后对数组遍历平方相加,最后看计算得到的平方数是否为1.class Solution {public: bool isHappy(int n) { int k = 100; while(k != 0) { int X = n; ...

2019-09-26 22:24:36 81

原创 leet code 121. 买卖股票的最佳时机

原理:暴力解决法,用两个变量for循环,将目前的这个数值与上个数值进行比较,如果大于上个变量就保存新的数值大小。class Solution {public: int maxProfit(vector<int>& prices) { if(prices.size() == 0 || prices.size() == 1) ...

2019-09-26 20:51:55 69

原创 leet code 53. 最大子序和

原理:暴力解决法。class Solution {public: int maxSubArray(vector<int>& nums) { int min = INT_MIN; if(nums.size() == 1) { return nums[0]; }...

2019-09-26 20:33:52 70

原创 leet code 171. Excel表列序号

原理:简单的加法。class Solution {public: int titleToNumber(string s) { int ANS = 0; for(int i = s.size()-1; i >= 0; i--) { ANS = ANS + (s[i] - 'A' + ...

2019-09-26 19:55:04 68

原创 leet code 88. 合并两个有序数组

原理:两个数组分别用循环变量,哪一个小那么循环变量加一,并且将小的数保存在新的数组里面;class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { vector<int> an...

2019-09-26 14:13:14 88

原创 leet code 168. Excel表列名称

原理:设置两个变量:A=n/26;B=n%26;有两种情况:情况1.A!=0&&B==0,这种情况需要n--;A--;B=26;退1位操作,相当于26=1*26=0*26+26;这样的操作可以处理AZ=52=2*26=1*26+26=A+Z=AZ;情况2.除了上述情况,其余都是char AA= ‘A’+B-1;class Solution {public:...

2019-09-26 12:12:42 86

原创 leet code 141. 环形链表

原理:快慢指针法比较经典的一种运用想象一下,两名运动员以不同的速度在环形赛道上跑步会发生什么?通过使用具有 不同速度 的快、慢两个指针遍历链表,空间复杂度可以被降低至 O(1)O(1)。慢指针每次移动一步,而快指针每次移动两步。如果列表中不存在环,最终快指针将会最先到达尾部,此时我们可以返回 false。现在考虑一个环形链表,把慢指针和快指针想象成两个在环形赛道上跑步的运动员(...

2019-09-26 09:57:23 98

原创 leet code 83. 删除排序链表中的重复元素

原理:就是通过指针遍历链表,将排序链表的下一个与上一个作比较有两种情况:1.下一个字符与上一个字符相同,则用指针跳过下个字符,否者,两个指针分别向下移动一位。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListN...

2019-09-25 17:58:11 76

原创 leet code 633. 平方数之和

原理:a*a+b*b =c等于sqrt(c-b*b) == int(sqrt(c-b*b)) 即可class Solution {public: bool judgeSquareSum(int c) { bool flag = false; for(int i = 0; i <= sqrt(c); i++) { ...

2019-09-25 17:11:28 86

原创 leet code 69. x 的平方根

原理:这个是内置函数sqrt的原理,需要改进牛顿迭代法原理。class Solution {public: int mySqrt(int x) { //return int(sqrt(x)); double Y = 1.0; while(abs(Y*Y-x) > 1e-3) Y = (Y+...

2019-09-25 16:21:50 60

原创 leet code 1137. 第 N 个泰波那契数

原理:简单的迭代原理,采用for循环将A,B,C作为三个基础项,其他都是基于这些三个数加起来的。class Solution {public: int tribonacci(int n) { if(n == 0) { return 0; } else if(n == 1) ...

2019-09-25 14:56:48 120

原创 leet code 509. 斐波那契数

执行结果:通过显示详情执行用时 :24 ms, 在所有C++提交中击败了19.96%的用户内存消耗 :8.1 MB, 在所有C++提交中击败了86.91%的用户class Solution {public: int fib(int N) { if(N == 0) { return 0; ...

2019-09-25 14:42:04 68

原创 leet code 67. 二进制求和

执行结果:通过显示详情执行用时 :4 ms, 在所有C++提交中击败了90.22%的用户内存消耗 :8.8 MB, 在所有C++提交中击败了38.02%的用户原理:如下图所示;class Solution {public: string addBinary(string a, string b) { int A = a.s...

2019-09-25 11:25:17 58

原创 leet code 66. 加一

执行结果:通过显示详情执行用时 :8 ms, 在所有C++提交中击败了53.00%的用户内存消耗 :8.6 MB, 在所有C++提交中击败了14.88%的用户原理:运用反向遍历,将数组按从小到大依次排序,这有利于解决进位的问题;然后讨论两种特殊情况:1.数字9;2.数字999中的最高位9;3.数字999中的中间项9。class Solution {public: ...

2019-09-25 10:08:47 90

原创 leet code 58. 最后一个单词的长度

执行结果:通过显示详情执行用时 :4 ms, 在所有C++提交中击败了86.41%的用户内存消耗 :8.7 MB, 在所有C++提交中击败了85.17%的用户原理:采用计数原理,然后讨论集中特殊情况:1.a_,2._ _,3._ a,第一种情况保持不变,第二种情况也是保持不变,第三种情况是计数器置零,其他情况都是正常计数+1。class Solution {pu...

2019-09-24 21:42:16 64

原创 leet code 23. 合并K个排序链表

执行结果:通过显示详情执行用时 :612 ms, 在所有C++提交中击败了10.07%的用户内存消耗 :11.2 MB, 在所有C++提交中击败了82.71%的用户原理:每个链表的首个进行比较,将k个head节点比较,选择最小的输入新链表中,并将改行的head节点后移一个,重新比较,如果第j行到尾节点后。循环判断添加一个第j行是否head节点为null。如果为nul...

2019-09-20 21:57:47 74

原创 leet code 24. 两两交换链表中的节点

执行结果:通过显示详情执行用时 :8 ms, 在所有C++提交中击败了56.26%的用户内存消耗 :8.5 MB, 在所有C++提交中击败了87.16%的用户原理:这题目本身不难,交换原理就是创建一个新的head头结点,然后每4个的中间两个节点换位。不过切忌不用设多个head->next这种节点,会导致中间步骤混乱。我错了好几次就在这里。class Solu...

2019-09-20 15:34:33 80

原创 leet code 27. 移除元素

执行结果:通过显示详情执行用时 :8 ms, 在所有C++提交中击败了61.05%的用户内存消耗 :8.5 MB, 在所有C++提交中击败了92.08%的用户原理:用while循环把数组中每个值与val相比较,如果相同则删除对应的位置,不相同就计数器+1;最后输出数字与对应的size()。class Solution {public: int removeE...

2019-09-19 18:21:15 72

原创 leet code 26. 删除排序数组中的重复项

执行结果:通过显示详情执行用时 :316 ms, 在所有C++提交中击败了10.36%的用户内存消耗 :9.8 MB, 在所有C++提交中击败了88.51%的用户原理:采用while循环,将有序数组中的前后相等数字,删除,最后将循环变量+1,就是数组长度了。class Solution {public: int removeDuplicates(vecto...

2019-09-19 15:52:22 91

原创 leet code 21. 合并两个有序链表

执行结果:通过显示详情执行用时 :8 ms, 在所有C++提交中击败了98.09%的用户内存消耗 :9 MB, 在所有C++提交中击败了76.48%的用户原理:将两个链表中数字提取出来后进行比较,将较小的数输入结果链表中。class Solution {public: ListNode* mergeTwoLists(ListNode* l1, List...

2019-09-19 15:01:51 62

原创 leet code 20. 有效的括号

原理:先把左括号‘(’‘【’‘{’先保存在数组里面(循环变量i),用循环变量(top)递减将右括号‘)’‘】’‘}’与左括号匹配执行用时 :4 ms, 在所有C++提交中击败了79.78%的用户内存消耗 :8.3 MB, 在所有C++提交中击败了90.19%的用户class Solution {public: bool isValid(string s) ...

2019-09-17 16:17:36 126 1

原创 leet code 19. 删除链表的倒数第N个节点

原理,先用循环把链表的个数遍历出k,然后将k-n+1项删除。执行用时 :0 ms, 在所有C++提交中击败了100.00%的用户内存消耗 :8.6 MB, 在所有C++提交中击败了75.97%的用户class Solution {public:ListNode* removeNthFromEnd(ListNode* head, int n) {if(head ==...

2019-09-17 10:18:10 80

原创 leet code 15. 三数之和

暴力解法:先用for把所有三数为零的可能计算得出,并保存各种组合,在用SORT将各种组合排序,将相同序列剔除,不同序列保存class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<in...

2019-09-16 15:06:18 55

原创 leet code 14. 最长公共前缀

原理是:以例子1为例,先判断所有字符串长度的最小值,因为前缀最大值就是长度最小值,然后利用双重循环将字符串的每个值单独提出来,并加以保存判断,最终用bool类控制是否满足相同条件,满足输出,不满足退出。class Solution {public:string longestCommonPrefix(vector<string>& strs){string...

2019-09-16 11:29:46 66

原创 leet code 13. 罗马数字转整数

原理是采用先把罗马字符全部换成数字相加,然后对5种特殊情况进行分类讨论class Solution {public: int romanToInt(string s) { int ans = 0; for(char c : s) { if(c == 'I') {...

2019-09-16 10:19:40 50

原创 leet code 12. 整数转罗马数字

用if。。。else。。。用XXXX分成4位数,每位数进行一一判断。class Solution {public: string intToRoman(int num) { string ANS = ""; int A = num/1000; int B = num/100 - A*10; int C = ...

2019-09-07 21:27:23 61

原创 leet code 11. 盛最多水的容器

暴力解决法,但是时间可能超时,实测是50案例49个成功,一个超时,理论应该是对的class Solution {public: int maxArea(vector<int>& height) { int num = height.size(); int V = 0; for(int i = 0; i < nu...

2019-09-02 18:00:41 62

原创 leet code 9. 回文数

第九题可以借鉴前面的整数翻转的原理,让翻转数与原数进行比较即可。class Solution {public: bool isPalindrome(int x) { if(x < 0) return false; else { int x1 = x; int ...

2019-09-02 17:05:27 68

原创 leet code 8. 字符串转换整数 (atoi)

相比与官方答案可能自己的答案非常繁琐,我的方案是先找到+/-符号,并记录kflag,然后重新读取数据,符号如果同时出现两次则返回0,如果数字后出现其他符号则break;输出终止。class Solution {public: int myAtoi(string str) { long long ans = 0; int flag = ...

2019-09-02 16:52:07 103

空空如也

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

TA关注的人

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