ARTS:
- Algrothm: leetcode算法题目
- Review: 阅读并且点评一篇英文技术文章
- Tip/Techni: 学习一个技术技巧
- Share: 分享一篇有观点和思考的技术文章
Algorithm
【leetcode】917 。仅反向字母
https://leetcode.com/problems/reverse-only-letters/
1)problem
给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。
示例 1:
输入:"ab-cd"
输出:"dc-ba"
示例 2:
输入:"a-bC-dEf-ghIj"
输出:"j-Ih-gfE-dCba"
示例 3:
输入:"Test1ng-Leet=code-Q!"
输出:"Qedo1ct-eeLg=ntse-T!"
提示:
S.length <= 100
33 <= S[i].ASCIIcode <= 122
S 中不包含 or "
2)answer
同一个循环里,分别获取字符串的前后值,如果遇到符号就跳过,如果两个都是字符就交换。
3)solution
#include "pch.h"
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <fstream>
using std::vector;
using std::string;
using std::swap;
class Solution {
public:
string reverseOnlyLetters(string S) {
for (int i = 0, j = S.length() - 1; i < j; ++i, --j) {
while (i < j && !isalpha(S[i])) ++i;
while (i < j && !isalpha(S[j])) --j;
swap(S[i], S[j]);
}
return S;
}
};
int main()
{
Solution solution;
string str = "Test1ng-Leet=code-Q!";
string ret = solution.reverseOnlyLetters(str);
}
Review
【病毒传播】跟踪OceanLotus的新下载程序KerrDown
1)场景
攻击组织传播恶意代码方法
2)问题难点
Microsoft Office文档、RAR存档是怎么伪造的。
3)解决问题的方法
两种方法将KerrDown下载器传递给目标。一个是使用带有恶意宏的Microsoft Office文档,另一个是包含带有DLL side-loading合法程序的RAR存档 。
4)方法细节
跟踪OceanLotus的新下载程序KerrDown
https://www.cnblogs.com/17bdw/p/10353438.html
Tip
【安全开发】MFC的List Control控件
1)场景
MFC-开发小工具
2)问题难点
List Control控件
3)解决思路
- 显示方式
- 添加成员变量
- 设置值
- 清空所有值
- 刷新功能
- 菜单消息处理
- 排序
4)方法细节
List Control控件
https://www.cnblogs.com/17bdw/p/10351369.html
Share
【业务】应急响应工具-ProcessHacker可编译版本
1)场景
ProcessHacker可编译版本
2)问题难点
学习应急响应类工具的原理
3)解决思路
需要做一个批量进程内搜索字符串的工具。
4)方法细节
尝试找processhacker的源码,processhacker-2.39-src.zip。
https://sourceforge.net/projects/processhacker/files/processhacker2/
总是提示一个error C2065: “MEMORY_PARTITION_ALL_ACCESS。
不知道怎么解决。
找到这个版本可以进行编译成功。
https://github.com/PKRoma/ProcessHacker
ProcessHacker可编译版本