原创 【C/C++】宏、宏的作用/副作用

基礎: 宏是預處理指令; 宏的本質是簡單的字符串替換,預處理時進行宏替換; 可在定義宏時要求它接收參數,宏替換時會代入參數; 宏的名字不允許重載; 宏預處理代碼沒有能力處理遞歸調用。 作用: 看一段math.h中的宏定義: #if

原创 c++貪喫蛇

空餘時間寫了貪喫蛇,基於microsoft windows console和c++標準庫。 Snake.h #pragma once // coded by ciderpark // [email protected] #incl

原创 【視覺算法】SHOT特徵描述子

回顧一下上一篇文章學習的物體識別流程,首先計算模型點雲特徵,並將特徵保存;然後計算場景點雲特徵,並將特徵保存;在此基礎上,進行特徵匹配;每一對特徵點,進行霍夫投票,投票峯值對應的那些點對,即爲正確的特徵對應;至此,剔除了錯誤點對;

原创 【視覺算法】廣義霍夫變換在三維物體識別中的改進和應用學習

前兩篇文章,學習了經典霍夫變換和廣義霍夫變換,我們對霍夫變換的原理和整個過程有了較爲清楚的認知。這篇文章主要學習廣義霍夫變換在三維物體識別中的改進和應用。 首先思考一個問題,如果直接將廣義霍夫變換應用在三維場景下的物體識別中會怎麼

原创 【LeetCode刷題記錄】13. 羅馬數字轉整數

題目描述: 題解: 一、直接求解(時間複雜度O(n),空間複雜度O(1)) int romanToInt(string s) { int rst = 0; for (int i = 0; i < s.size(); i++

原创 【LeetCode刷題記錄】4. 尋找兩個有序數組的中位數

題目描述: 一個最簡單、最容易想到的方法是:將兩個數組排序、存入同一個vector,計算中位數,如: double findMedianSortedArrays(vector<int>& nums1, vector<int>&

原创 【LeetCode刷題記錄】16. 最接近的三數之和

題目描述: 題解: 一、排序+雙指針 類似上一題,思路比較簡單,直接看代碼。 int threeSumClosest(vector<int>& nums, int target) { sort(nums.begin(), nu

原创 【LeetCode刷題記錄】3. 無重複字符的最長子串

題目描述: 題解: 一、暴力破解(時間複雜度:O(n3),空間複雜度:O(1),超出時間限制(TLE)) BF方法的思路比較簡單,逐個檢查所有的子字符串,看它是否不含有重複的字符。取不重複子字符串中長度最大的那個作爲結果輸出。

原创 【LeetCode刷題記錄】9. 迴文數

題目描述: 題解: 思路比較簡單,引用官方題解: bool isPalindrome(int x) { if (x < 0 || (x % 10 == 0 && x != 0)) return false; int reve

原创 【LeetCode刷題記錄】10. 正則表達式匹配

題目描述: 題解: 一、回溯 檢查時,如果只考慮’.’,顯然只需要同時在s和p中越過當前元素就可以了。 對於’*’,要分兩種情況考慮:1、表示0個前面那個元素,這時在p中越過它和它前面那個元素,s不變;2、表示1個前面那個元

原创 【LeetCode刷題記錄】1. 兩數之和

題目描述: 題解: 一、暴力破解 vector<int> twoSumBF(vector<int>& nums, int target) { //brute force for (int i = 0; i < nums.size

原创 【LeetCode刷題記錄】8. 字符串轉換整數 (atoi)

題目描述: 題解: 思路比較簡單,這樣寫代碼比較簡潔: int myAtoi(string str) { int len = int(str.size()); int rst = 0; int sign = 1; bo

原创 【LeetCode刷題記錄】14. 最長公共前綴

題目描述: 題解: 思路比較簡單。 一、水平掃描 string longestCommonPrefix(vector<string>& strs) { string rst{}; if (strs.empty())retur

原创 【LeetCode刷題記錄】17. 電話號碼的字母組合

題目描述: 題解: 一、“平庸”的全排列 思路簡單,直接看代碼。 vector<string> letterCombinations(string digits) { if (digits.empty())return{};

原创 【LeetCode刷題記錄】7. 整數反轉

題目描述: 題解: 思路簡單,注意溢出就可以了(-2147483648‬, 2147483647)。 int reverse(int x) { int rst = 0; while (x != 0) { int pop