【ARTS】01_09_左耳听风-20190107~20190113
ARTS:
- Algrothm: leetcode算法题目
- Review: 阅读并且点评一篇英文技术文章
- Tip/Techni: 学习一个技术技巧
- Share: 分享一篇有观点和思考的技术文章
Algorithm
【leetcode】657. Robot Return to Origin
https://leetcode.com/problems/robot-return-to-origin/
1)problem
There is a robot starting at position (0, 0), the origin, on a 2D plane. Given a sequence of its moves, judge if this robot ends up at (0, 0) after it completes its moves.
The move sequence is represented by a string, and the character moves[i] represents its ith move. Valid moves are R (right), L (left), U (up), and D (down). If the robot returns to the origin after it finishes all of its moves, return true. Otherwise, return false.
Note: The way that the robot is "facing" is irrelevant. "R" will always make the robot move to the right once, "L" will always make it move left, etc. Also, assume that the magnitude of the robot's movement is the same for each move.
机器人从位置(0,0)开始,在2D平面上开始。给定一系列动作,判断该机器人在完成动作后是否在(0,0)结束。
移动序列由字符串表示,字符move [i]表示其第i个移动。有效移动是R(右),L(左),U(上)和D(下)。如果机器人在完成所有移动后返回原点,则返回true。否则,返回false。
注意:机器人“面对”的方式无关紧要。“R”将始终使机器人向右移动一次,“L”将始终向左移动等。此外,假设每次移动机器人的移动幅度相同。
Example 1:
Input: "UD"
Output: true
Explanation: The robot moves up once, and then down once. All moves have the same magnitude, so it ended up at the origin where it started. Therefore, we return true.
机器人向上移动一次,然后向下移动一次。所有动作都具有相同的幅度,因此它最终位于它开始的原点。因此,我们回归真实。
Example 2:
Input: "LL"
Output: false
Explanation: The robot moves left twice. It ends up two "moves" to the left of the origin. We return false because it is not at the origin at the end of its moves.
机器人向左移动两次。它最终在原点的左边有两个“移动”。我们返回false,因为它不是在它移动结束时的原点。
2)answer
只需要两个变量记录水平方向和垂直方向是否最后处在原点即可;
3)solution
#include "pch.h"
#include <iostream>
#include <string>
using std::string;
class Solution {
public:
bool judgeCircle(string moves) {
int y = 0;
int x = 0;
for (int i = 0; i<moves.length();i++)
{
switch (moves.at(i))
{
case 'U':{ y++; } break;
case 'D':{ y--; } break;
case 'L':{ x--; } break;
case 'R': {x++; } break;
default:
break;
}
}
if (x == 0 && y == 0)
{
return true;
}
return false;
}
};
int main()
{
std::cout << "Hello World!\n";
Solution s;
s.judgeCircle("UD");
}
Review
【漏洞挖掘】如何使用responder工具通过窃取NTLMv2哈希在Windows环境中实现利用
1)场景
- 局域网内投毒方式
- 域环境获取域控HASH
2)问题难点
局域网内如何扩展权限?
3)解决问题的方法
LLMNR(Link-Local Multicast Name Resolution,链路本地多播名称解析)协议是一种基于DNS包格式的协议。它可以将主机名解析为IPv4和IPv6的IP地址。这样用户就可以直接使用主机名访问特定的主机和服务,而不用记忆对应的IP地址。该协议被广泛使用在Windows Vista/7/8/10操作系统中。
该协议的工作机制很简单。例如,计算机A和计算机B同处一个局域网中。当计算机A请求主机B时,先以广播形式发送一个包含请求的主机名的UDP包。主机B收到该UDP包后,以单播形式发送UDP的响应包给主机A。由于整个过程中,都是以UDP方式进行,主机A根本不能确认响应主机B是否为该主机名对应的主机。这就造成欺骗的可能。
4)方法细节
如何使用responder工具通过窃取NTLMv2哈希在Windows环境中实现利用。
https://www.cnblogs.com/17bdw/p/10253721.html
5)总结
两种攻击方式:
1、捕获NTLMv2哈希并使用“Hashcat”密码破解工具破解。
2、使用Responder和Multirelay.py脚本执行重放NTLMv2哈希到“已禁用SMB签名”的计算机。如果重放成功,在目标计算机上将获得shell访问权限。
Tip
【安全开发】MFC小型工具通用界面框架CLIST控件+右键菜单功能
1)场景
由于工作需要我会写代码开发工具给客户或者同事用。代码都能实现,但写个黑乎乎的命令行工具给别人用确实显得不够专业,用别人写好的成型工具又担心有后门。
所以掌握积累几个MFC的常用控件随时调用,代码量堆起来了就是不断反复利用的过程了。未来还是会把精力用在实现实际功能上,以成为界面工程师作为目标学习很容易找不到工作。
2)问题难点
常用界面分析,只需要显示结果,保存路径,打开字典就可以做一个专有工具。
3)解决思路
MFC-CListCtrl
4)方法细节
MFC-小型工具通用界面框架
https://www.cnblogs.com/17bdw/p/10238922.html
5)总结
界面功能并不会太复杂,知道怎么得到结果,怎么插入数据和扩展就足够了。
主要功能:
CListCtrl控件使用,右键菜单功能删除单行、删除全部、增加自定义内容。
扩展性:
主要考虑在右键菜单栏增加处理函数,实现主要功能,然后得到结果返回到界面上。
Share
【业务】程序员攻略开篇
1)场景
安全工程师转安全开发
2)问题难点
怎么进阶
3)解决思路
JAVA、C++、Python,Linux
4)方法细节
极客时间-左耳听风-程序员攻略开篇
https://www.cnblogs.com/17bdw/p/10227032.html
5)总结
- 入门篇
编程语言:Python和JavaScript
操作系统:Linux
编程工具:Visual Studio Code
- 正式入门
JAVA
- 修养篇
英文能力、问问题的能力、写代码的修养、安全防范意识、软件工程和上线规范、编程规范等。
- 专业基础篇
在编程语言方面,推荐学习 C、C++ 和 Java 这三个工业级的编程语言。
理论学科方面,需要学习算法、数据结构、网络模型、计算机原理等内容。
系统知识方面会讲述 Unix/Linux、TCP/IP、C10K
【ARTS】01_09_左耳听风-20190107~20190113的更多相关文章
- 【ARTS】01_21_左耳听风-201900401~201900407
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_20_左耳听风-20190325~20190331
zz## ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 ...
- 【ARTS】01_19_左耳听风-20190318~20190324
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_18_左耳听风-20190311~20190317
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_17_左耳听风-20190304~20190310
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_16_左耳听风-20190225~20190303
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_14_左耳听风-20190211~20190217
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_10_左耳听风-20190114~20190120
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_08_左耳听风-20181231~20190106
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
随机推荐
- Twitter数据挖掘:如何使用Python分析大数据 (3)
让我们来拉取Twitter账号@NyTimes的最近20条微博. 我们可以创建变量来存放待拉取的微博数量(即count),以及待拉取的用户(即name).然后用这两个参数调用user_timeline ...
- 自学Linux Shell12.7-控制循环break、continue命令
点击返回 自学Linux命令行与Shell脚本之路 12.7-控制循环break.continue命令 break命令.break命令用于跳出循环,使用break可以跳出任何类型的循环:for.whi ...
- NOIP2018普及组模拟赛
向老师给的模拟赛,还没普及组难... 题目在洛谷团队里. 第一试三道水题,我46分钟就打完了,然后就AK了. 第二试一看,除了第二题要思考一段时间之外,还是比较水的,但是我得了Rank倒1,115分. ...
- A1037. Magic Coupon
The magic shop in Mars is offering some magic coupons. Each coupon has an integer N printed on it, m ...
- 【洛谷P1073】最优贸易
题目大意:给定一个 N 个点,M 条边(存在反向边)的有向图,点有点权,求一条从 1 到 N 的路径上,任意选出两个点 p,q (p 在前,q在后),两点点权的差值最大. 根据最短路的 dp 思想,可 ...
- c 的内存分配与释放原则: 通常应遵循“谁malloc,谁free”的原则。
通常应遵循“谁malloc,谁free”的原则. ------------------------ 一位大神的话. 2013-02-09
- 树莓派 3b 串口启用
网上搜到的方法都没用,不知道是不是系统版本的原因.以下方法是试出来的... uname -aLinux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:5 ...
- 黑客专用操作系统——Kali Linux简介
1如果您之前使用过或者了解BackTrack系列Linux的话,那么我只需要简单的说,Kali是BackTrack的升级换代产品,从Kali开始,BackTrack将成为历史. 如果您没接触过Back ...
- 使用maven对项目进行junit的单元测试
Spring中的单元测试 需要引入依赖 <dependency> <groupId>junit</groupId> <artifactId>junit& ...
- centos7下安装nginx的方法
没有用tar包的方法,太麻烦,还需要找,还需要编译,还需要下乱七八糟的依赖模块.麻烦的一逼,看网上说的.就采用了在线安装的方法.很快.注意一下,这种方法安装是安装到系统默认的位置.我也不知道怎么换.留 ...