自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 win10 新一代 terminal 编译全过程

https://www.bilibili.com/video/av55049258?from=search&seid=6111746064287824017

2019-06-09 14:40:32 483

原创 Kali Arp欺骗

fping -asg 192.168.1.0/24echo 1 > /proc/sys/net/ipv4/ip_forwardarpspoof -i wlan0 -t 192.168.1.103 192.168.1.1driftnet -i wlan0 -d /root/

2019-05-04 00:24:45 352

原创 PAT 1005

这一题算是最简单的了,注意大数相加,已经字符串分割即可搞不懂 str.substr(i,1)为什么 循环到第二次就报错package com.promise.pat;import java.util.HashMap;import java.util.Scanner;public class T1005 { public static void main(String[...

2019-04-26 19:53:16 125

原创 PAT 1004

开始写的时候,不知道怎么判断 该层 有多少叶子结点其实 queue中每次存的就是 该层的结点数遍历的时候 不是用 pop 来直接循环,而是用 queus.size() 来得到 该层结点个数 n然后 用 for 循环遍历 n 完成该层的遍历package com.promise.pat;import java.util.ArrayList;import java.util.Li...

2019-04-26 00:41:57 109

原创 PAT 甲级 1002 多项式相加(测试点2 一直不能通过)

package com.promise.pat;import java.util.*;public class P1002_2 { public static void main(String[]args){// 使用Map// Key : 指数// value: 系数 Scanner input = new Sca...

2019-04-06 23:43:04 958 3

原创 机试【二】求连续的最长子串和

package com.promise.demo;public class MaxSubSum {// DP法求解 最大子串和 public static int maxSubSum(int[] array){ if(array == null) { return 0; } int...

2019-03-27 23:36:49 295

原创 机试【二】从给定车票中找出旅程

1.一种方法是构造图,然后拓扑排序2.利用HashMap,和逆HashMap,如果HashMap.key 在逆HashMap中不存在,则其为起点package com.promise.demo;import java.util.HashMap;import java.util.Map;public class TravelRoute { public static vo...

2019-03-25 23:53:13 132

原创 机试(一)chapter2.9 矩阵判断字符路径

VS2017 把char*做字符串改了上下左右row和col哪个+1,哪个-1弄混了一次PathLength全局,所以要引用#include <iostream>using namespace std;//递归函数bool findPathCore(const char* matrix, bool* visited, int rows, int cols, int ...

2019-03-01 00:43:46 110

原创 机试(一) chapter2.8 时间复杂度O(n)的排序(年龄排序)

#include <iostream>using namespace std;//用空间换时间//用o(n) 空间 辅助数组 ,统计0-(n-1)的个数//最后按个数输出void getSortAge(int ages[],int length){    //假设年龄在0-99岁之间    int nums[100] = { 0 };    //统计各个年龄一共多...

2019-02-27 00:10:31 89

原创 机试(一) chapter2.7 青蛙跳台阶和图形覆盖

#include <iostream>using  namespace std;//青蛙跳台阶 1次跳一个,或者一次跳2个,求第n阶台阶的跳法有多少种//如果全是跳1个,则只有一种跳法//如果最后一跳是跳1个,则求出f(n-1)的跳法即可//如果最后一条是跳2个,则求出f(n-2)的跳发即可//递归int getKinds(int n){    int n_al...

2019-02-24 22:06:46 105

原创 机试(一)chapter2.6 替换字符串 O(n)

犯了一个错误,char× 在C++ 中会 直接定义一块内存,不可访问内存以外的地方,所有用到该常量字符串的地方都是一个地址,所以用str[p2]时,会报错,SIGSEGV (Segmentation fault),就是说内存访问错误,所以应该用char [],只指定 字符串首地址,便可以访问了#include <iostream>using namespace std;/...

2019-02-24 00:54:29 81

原创 机试(一)chapter2.5 二维数组中查找

思想:从大范围,一点一点缩小,找到最大的边界,然后删行或者删列#include <iostream>using namespace std;//二维数组查找数字//每次从右上角入手//记右上角为m,要查找的数字为n//若m>n,表示右上角大于n,则右上角所在列都>n  ==> 删除m所在列//若m<n, 表示右上角小于n, 则右上角右边或者...

2019-02-23 20:47:47 87

原创 机试(一)chapter2.4不修改数组输入查找重复数字

二分法经典模版int start;int end;while(start<=end){   int mid = (end-start1)>>2 + start;//最终结果if(start==end){ return start}//结果前一段if() { end = mid;)//结果在后一段else{ start = mid+1)...

2019-02-23 01:00:21 102

原创 机试(一)chapter 2.3 查找数组中的重复数字

注意边界条件判断的积累  #include <iostream>using namespace std;//查找数组中的重复数字(找出一个即可)//方法1:首先排序,然后依次扫描,判断当前值?=前一个值//方法2:新增哈希表,空间o(n) ,依次扫描数组,判断是否在哈希表中//方法3:时间o(n) 空间0(1)/*依次扫描数组假设扫描到a[i] = m...

2019-02-22 00:10:47 92

原创 机试(一)chapter2.2

#include <iostream>using namespace std;class CMyString {private:    char* m_pDate;public:    CMyString(char* pData = nullptr);    CMyString(const CMyString& str);    ~CMyString(voi...

2019-02-21 00:23:33 75

原创 机试笔记(一)----chapter2.1

#include <iostream>using namespace std;class A {    //构造函数和析构函数不占用sizeof,只需要知道A类型的地址就行    A();    //若加上虚函数,则该类型会产生一个虚函数表,每个类的实例会有个指向虚函数表中某一项函数的指针    //32位机子占4个字节    //64位机子占8个字节    virtu...

2019-02-20 21:10:36 90

原创 LeetCode Problem 11 Container With Most Water解题报告

这题看似简单,但是有技巧。本来想偷懒试试用for循环嵌套,但是O(n^2)超时。LeetCode论坛上有解法,用两个指针来指向height,开始时,一个left=0,一个right=height.size()-1。通过while循环,当左指针的值小于右指针的值时,左指针++,若右指针的值较小,则右指针--,迭代判断area的大小,从而得出最大值max。int maxArea(vector& h

2017-09-16 00:04:38 156

原创 LeetCode Problem9 Palindrome Number解题报告

本题算是很好做的了,注意一下负数返回false即可。剥离每一位,然后倒序累加组成新的数,判断 倒序数 == 原数bool isPalindrome(int x) { if (x < 0 ) return false; int rex = 0; int temp = x; while (temp!=0) { rex = rex * 10 + temp % 10; temp

2017-09-13 22:04:23 138

原创 leetcodeProblem8 String to Integer解题报告

这一题核心解法很容易,只要读出每个字符,减去'0',得出真实int值,再进行累加res = res*10+strnum就可以了这题主要是细枝末节要考虑很多1.去除字符串 前面的空白符2.如果有+-号,只能有一个,如果两个都有,认为无效,返回 03.如果字符串所代表的值,超出int 32位的表示界限,返回各自的极值,达到max,返回int32_max,达到min,返回int32_mi

2017-09-12 17:56:59 143

原创 LeetcodeProblem7 Reverse Integer解题报告

这一题主要是边界的控制,自己没想出什么好办法,就是用long long型res,来比较int32型的最大值,如果结果大于int32的max,则返回0,否则返回res。看到leetcode上提供的解法,结果res为int32型,每次循环时累计计算后,判断(res-余数)/10是否==0,如果不是,说明溢出,则返回0,否则继续循环,最后返回。我的代码:int reverse(int x)

2017-09-11 23:06:18 177

原创 LeetCodeProblem6 ZigZag Conversion解题报告

本来这题准备对每一行找出通式,只找到首尾的通项公式为 i+(n-1)*m ,i 为1或者numRows,m为numRows但是参考其他人的思路,发现可以创建一个string数组strArray(vector),个数就为numRows,和状态变量 delt=0,定义一个数组下标index,从上到下扫描时,index++,并且strArray[index]  = s[i]当到底时 delt =

2017-09-10 22:47:28 139

原创 leetcode problem3解题报告

一开始看错了,以为是简单的求不重复的字符的个数,看note才发现,是找到最长不重复字符的“子串”并没有想到什么办法,在B站看到有人的解题思路,于是尝试用代码实现。具体方法:一个maxlen ,一个visited[256]的bool数组运用两个坐标,分别表示当前子串 在原字符串中的头坐标和为尾坐标,分别为左坐标和右坐标首先,左坐标不变,右坐标++,如果visisted[s[r

2017-09-06 23:55:32 218

原创 LeetCode Problem2解题报告

将两个链表看成倒序的十进制数,最左边为低位,最右边为高位,低位对齐,高位不足补0,用last指针的next代表进位项ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* result = new ListNode(-1); ListNode* last = result; last->next = new L

2017-09-06 00:02:23 240

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除