算法
会头痛的可达鸭
美食研究猿
展开
-
多边形等距缩放
参考:https://blog.csdn.net/weixin_39383896/article/details/99615371原理:1、θ为V1、V2的夹角,距离 = Qi到V1、V2的距离向量PiQi = 向量V1+ 向量V2V1、V2的长度 = 距离 / sinθ2、点乘算夹角θ公式: cosθ = 向量BA * 向量BC / (BA长度 * BC长度) // BA长度也叫BA的模 // 向量BA double x1' = x2 - x1; ..原创 2021-05-31 17:42:25 · 993 阅读 · 0 评论 -
合并二叉树、拷贝二叉树
题目:已知任意两颗二叉树tree1,tree2,合并为一个新的二叉树。重叠的节点值叠加,非叠加的节点,直接作为新树的节点 tree1 1 / \ 2 3 / 4 ---------\ 6(1+5) ---------/ .原创 2020-12-04 15:36:17 · 394 阅读 · 0 评论 -
基于生产者、消费者的循环队列
0、前言 生产者消费者模式:一个producer线程生产,一个consumer消耗,当producer过快的时候实行丢帧操作,当consumer过快时实行超时机制的等待(等待不到就返回空) 通俗的话讲:当"面包"生产过剩的时候,就倒掉仓库中的部分面包(俗称:资本主义倒牛奶),当"面包"消耗的过快的时候,就让顾客等着,如果顾客没有耐心等到(超时机制),就让他回去1、实现自定义事件(事件同步)#pragma once#include <windows.h>...原创 2020-11-17 18:17:02 · 736 阅读 · 0 评论 -
Leetcode: Topic 3 无重复字符的最长子串
一、暴力求解 (1)、 最开始想的就是:使用一个循环判断第一个字符的最长子串长度、第二个···-》最后一个,取最大的作为最长子串int lengthOfLongestSubstring(string s) { int nTamp = 0; for (int i = 0 ; i <s.length(); ++i) { map<char, int> temp;; temp[s[i]] = i; for (int...原创 2020-09-14 09:18:22 · 91 阅读 · 0 评论 -
Leetcode: Topic 2 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的....
1、对于这个题目,想到的就是。。直接相加然后进位struct ListNode{ int val; ListNode *next; ListNode(int x) : val(x), next(NULL) { }};ListNode* addTwoNumbers(ListNode* l1, ListNode* l2){ // 注意这里其实改变了l1 l2的指向内容,此方法存在问题,建议使用第二种 // 用这个存放计算结果 ListNode* pNod..原创 2020-08-12 20:25:15 · 1343 阅读 · 0 评论 -
Leetcode: Topic 1 给定一个整数数组 nums 和一个目标值 target....
题目描述:1、对于这个题目,第一个想到的就是暴力法,两遍for循环解决(暴力法的弱点就是空间复杂度及其的高。。O(n2))vector<int> twoSum(vector<int>& nums, int target) { vector<int> s; for(int n = 0; n < nums.size(); ++n) { for(int j = n + .原创 2020-08-10 19:12:53 · 1756 阅读 · 0 评论 -
关于多叉树的非递归遍布(文件夹全路径遍历)
用QT举例,获取QWidget下所有的子孙QWidgetQList<QWidget*> HiPublicFunction::Childrens(QWidget * widget){ if (widget == nullptr) { return QList<QWidget*>(); } QList<QWidget*> childrens; // 存放所有子孙节点 QStack<QWidget*> minorStack; mi.原创 2020-07-15 11:33:20 · 368 阅读 · 0 评论 -
字符串中提取IP地址
// 带端口号的IP地址QStringList getIpAddressAndPort(const QString & strText){ QStringList strList; QRegExp rx("(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\...原创 2020-03-24 11:14:45 · 2271 阅读 · 0 评论 -
求非副整数N二进制中1的个数
1、直接N%2 == 1 就是一个1int NumberOf1(unsigned int n){ int nNum = 0; while (n > 0) { n = n / 2; int j = n % 2; if (j == 1) { nNum++; }...原创 2019-05-31 18:44:56 · 392 阅读 · 0 评论
分享