avatar
文章
127
标签
55
分类
11

Home
Categories
About
Shona's Blog
Home
Categories
About

Shona's Blog

opencv cv::Mat与std::string互转
发表于2021-11-04
cv::Mat转std::string通过vector进行中转。但memcpy效率还是挺高的. 1234567891011cv::Mat mat = cv::imread("a.jpg");std::vector<unsigned char> buff;cv::imencode(".jpg", mat, buff);// 深拷贝std::string str;str.resize(buff.size());memcpy(&str[0], buff.data(), buff.size());// 浅拷贝std::string str;str.assign(buff.begin(), buff.end()); std::string转cv::Mat把std::string当做1行N列的数据,通过引用数据指针的方式来得到mat2。此时没有发生内存拷贝。 1234567cv::Mat mat(1, str.size(), CV_8U, (char *)str.data());cv::Mat dst = cv::imdecode(ma ...
git的cherry-pick使用
发表于2021-10-24|git|git
使用cherry-pick将一个分支上的代码移到另一个分支上...
git commit指南
发表于2021-10-24|git|git
git修改commit的message...
win10开启ftp服务
发表于2021-10-20|tool|tool•guidance
win10开启ftp服务步骤...
longest-valid-parentheses
发表于2021-10-17|coding|leetcode•hard
最长有效括号给你一个只包含 ‘(‘ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例 1: 输入:s = “(()” 输出:2 解释:最长有效括号子串是 “()” 示例 2: 输入:s = “)()())” 输出:4 解释:最长有效括号子串是 “()()” 示例 3: 输入:s = “” 输出:0 提示: 0 <= s.length <= 3 * 104 s[i] 为 ‘(‘ 或 ‘)’ Solution1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include <iostream>#include <string>using namespace std;class Solution {public: int longestValidParentheses(string s) { if (s.empty()) { ...
next-permutation
发表于2021-10-17
下一个排列实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列(即,组合出下一个更大的整数)。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。 示例 1: 输入:nums = [1,2,3] 输出:[1,3,2] 示例 2: 输入:nums = [3,2,1] 输出:[1,2,3] 示例 3: 输入:nums = [1,1,5] 输出:[1,5,1] 示例 4: 输入:nums = [1] 输出:[1] Solution1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677#include <iostream>#include <vector>#include <bits/stdc++.h>c ...
数字的补数
发表于2021-10-17|coding|coding•leetcode
数字的补数对整数的二进制表示取反(0 变 1 ,1 变 0)后,再转换为十进制表示,可以得到这个整数的补数。 例如,整数 5 的二进制表示是 “101” ,取反后得到 “010” ,再转回十进制表示得到补数 2 。给你一个整数 num ,输出它的补数。 示例 1: 输入:num = 5 输出:2 解释:5 的二进制表示为 101(没有前导零位),其补数为 010。所以你需要输出 2 。 示例 2: 输入:num = 1 输出:0 解释:1 的二进制表示为 1(没有前导零位),其补数为 0。所以你需要输出 0 。 提示: 1 <= num < 231 Solution1234567891011121314151617181920212223242526#include <iostream>class Solution {public: int findComplement(int num) { if (num == 0) { return 1;  ...
串联所有单词的子串
发表于2021-10-13|coding|coding•leetcode
串联所有单词的子串给定一个字符串s和一些长度相同的单词words 。找出s中恰好可以由words中所有单词串联形成的子串的起始位置。注意子串要与words中的单词完全匹配,中间不能有其他字符 ,但不需要考虑words中单词串联的顺序。 示例 1: 输入:s = “barfoothefoobarman”, words = [“foo”,”bar”] 输出:[0,9] 解释: 从索引 0 和 9 开始的子串分别是 “barfoo” 和 “foobar” 。 输出的顺序不重要, [9,0] 也是有效答案。 示例 2: 输入:s = “wordgoodgoodgoodbestword”, words = [“word”,”good”,”best”,”word”] 输出:[] 示例 3: 输入:s = “barfoofoobarthefoobarman”, words = [“bar”,”foo”,”the”] 输出:[6,9,12] 提示: 1 <= s.length <= 104 s 由小写英文字母组成 1 <= words.length ...
1…456…16
avatar
Shona
我在过去,我在现在,我在将来
文章
127
标签
55
分类
11
Follow Me
分类
  • backend10
  • coding34
  • cpp19
  • demo1
  • git11
  • hexo4
  • knowledge1
  • mine1
  • 查看更多
标签
CMakeLists Linux arm backend c++ c++11 c++20 cmake coding coredump cpp cpu database dns docker doxygen folder gdb git gitbook github page grpc guidance hard hexo innosetup json leetcode linux log markdown mermaid mine nfs oh myzsh opencv password process protobuf qml
归档
  • 六月 20234
  • 五月 20232
  • 四月 20231
  • 二月 20231
  • 十二月 20221
  • 十一月 20221
  • 十月 20221
  • 九月 20222
  • 查看更多
网站资讯
文章数目 :
127
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2023 By Shona
江河回望