- 博客(27)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 git学习小记
发现一个非常好用的git学习网站:https://learngitbranching.js.org/可以可视化地展示每个命令的结果小记:1 本地:checkout 相对位移 “^”代表父提交,当一个提交有多个父提交时,可以通过在”^”后面跟上一个数字,表示第几个父提交,”^”相当于”^1”. ~<n>相当于连续的<n>个”^”. git ...
2019-02-15 17:26:14
170
原创 我的2018春招面试复习总结
思考问题的方法 1、举几个简单的例子,理解问题,模拟操作过程。 2、用图形表示抽象的数据结构,分析链表、二叉树等。 3、分解成若干子问题,采用递归的思路,包括分治法和动态规划。 写程序的过程 先想几个测试用例,确保思维是正确的,没有遗漏的点。 函数的入口对所有参数进行检验。 写完代码之后脑补测试用例运行流程。 交给面试官...
2018-11-17 00:22:33
410
原创 我的2018秋招面试复习随笔
类的大小与它的构造函数、析构函数以及其他成员函数无关,只与它的数据成员相关。普通类的继承,类的大小为本身数据成员大小+基类数据成员大小。虚函数类的继承,派生类大小=派生类自身成员大小+基类数据成员大小+虚拟指针大小(即使继承多个虚基类,也只有一个指向其虚函数表的指针vptr,大小为4字节)。摘自:https://www.cnblogs.com/sz-leez/p/7119232.htm...
2018-11-17 00:18:19
179
原创 Kickstart Round B 2018 No Nine 题解
啰嗦的前言:定理0:一个数能不能被9整除,看各位的和是不是9的倍数即可。为什么呢?因为定理1。定理1:判断一个L进制的数能不能被L-1整出,看各位的和能不能被L-1整除即可。证明,一个m位的L进制数可以表示成[a[m-1]a[m-2]...a[0]],其值为∑(a[i]*L^i)。而有 ∑(a[i]*L^i) ≡ ∑(a[i]*1^i) ≡ ∑(a[i]) (mod L-1)得证。PS:为什么能被...
2018-04-23 22:32:42
766
原创 LeetCode Queue类(363 621) 题解
363:Max Sum of Rectangle No Larger Than K 首先想到暴力,保存累加和,然后四重循环遍历左上和右下角的x,y坐标,复杂度O((nm)^2),本以为铁定超时,结果居然AC了。。。然后看了discussion,更快的解时间复杂度是O(n * n * m * logm),空间复杂度O(m),假设m >= n。怎么做到呢,先从几个问题讲起。Q1: 一维数组中找最...
2018-03-27 12:20:41
705
原创 LeetCode Minimax类(375 464 486) 题解
375:Guess Number Higher or Lower II 首先找规律,以为是使左右数字和的差值最小。结果发现不是,例如7的情况,首先选择的数是4而不是5,最终代价是10。然后回溯+剪枝暴力找每一段区间需要的最小代价,结果超时。再一想发现回溯的过程中有重复子问题,所以加一个备忘录。Runtime 6ms,比dp要快,原因是剪枝较多。int getMoneyAmount(int beg...
2018-03-26 00:26:28
563
原创 LeetCode Reservoir Sampling类(382 298) 题解
382:Linked List Random Node两种解法:一种借鉴了洗牌算法的思想,即随机找出自己和之后一个位置,和自己互换。在构造函数里获取链表长度,复杂度O(n)。然后getRandom里获取[0, n-1)的随机数,找到该位置的值,复杂度期望O(n/2)。提交后Runtime 64ms。class Solution {private: ListNode* listHead;...
2018-03-25 14:39:03
233
原创 Leetcode Brainteaser类(292 319 777) 题解
292题:Nim Game 不难看出递推式:num[i]表示有i个石子时能不能赢。堆中有i个石子时,赢的条件是i-1、i-2和i-3个石子有一种不能赢,即能找到一种对方失败的拿法即可。纸上写几个就会发现结果的周期为4,是4的倍数就会输,其他都能赢。所以写出程序。bool canWinNim(int n) { if (n % 4 == 0) return false;...
2018-03-24 21:11:15
397
原创 扇贝读书营指导讲义爬取
首先用selenium+chrome爬取每日学习的页面,把每天的讲义链接(微信页面地址)爬下来。检查URL发现每天的页面只有日期不同,例如: https://www.shanbay.com/web/checkinplan/camp/user/plans/etchq?date=2018-03-16&course_type=read https://www.shanbay.com/...
2018-03-24 16:59:09
1166
原创 Leetcode 309 Best Time to Buy and Sell Stock with Cooldown 题解
题目做法:DP递推式:val[i] = max(val[i - 1] + price[i] - price[i - 1], global[i - 2]), 其中,val[i]表示第i天出售股票能够获取的最大利润; global[i]记录了从第0~i天出售股票能够获得的最大利润; 公式的含义是,第i天出售的股票可能是之前买的,也可能是当天买的; 之前买的,可以看成是昨天出售的...
2018-03-12 21:26:13
164
原创 正确的upper_bound和lower_bound写法
找了几篇CSDN上的文章,发现都不正确,例如这篇,它没有考虑到数组为{1}时,我们要找2时,应该返回的位置是1而不是0。先贴上我写的代码:class Solution {public: int upper_bound(vector<int> &data, int k) { int low = 0, high = data.size() - 1, mid...
2018-03-11 15:11:37
1243
原创 写专利的一点小小心得
1、把要写的东西,分模块写,每个模块写一些内容。这样本来觉得没什么可写的情况下,还是能写出一些东西。2、画流程图,把思路搞清楚。再把流程图贴上去,然后按照步骤一步一步写。这样可以写得比较详细。
2018-01-31 22:08:04
6893
原创 面试题素数问题 && Leetcode 204. Count Primes
找到一篇简单粗暴的介绍面试质素算法的文章。然后就涉及到如何按位保存。在C++里,要按照bit来存储可以使用容器bitset。但是需要预先指定长度,例如bitset bar。要动态分配长度,可以使用vector,它会优化,长度可能为1bit。但是实际操作中发现不好用,不能与bool类型的值判等,也不能赋值(可能是我没搞懂,但在微软对该类的介绍页面也没看到相关用法,只有用cout输
2018-01-22 18:45:20
188
原创 Centos7上Hbase1.1.12分布式配置要点
Step 1: 安装Hadoop,参考厦大数据库实验室的教程。不要轻易地跳过步骤,否则运行时可能遇到奇怪的问题。我的爬坑经历如下:我在hosts中本机的主机名解析到的是127.0.0.1,没有改成真实ip,导致在执行Map-Reduce时报错,File /user/centos/input/capacity-scheduler.xml._COPYING_ could only be rep
2017-12-27 16:17:20
191
原创 ubuntu虚拟机桥接模式网卡挂掉修复
打开虚拟机,发现网挂了,查看虚拟机的网络配置,没问题。ifconfig发现只有lo网卡(localhost) 127.0.0.1了。ifconfig -a发现网卡还是有的,名叫ens33,据说从ubuntu15版本开始就不叫eth0了。sudo ifconfig ens33 up 启动网卡。但是,没有ipv4地址啊,喂!网上搜搜
2017-12-25 11:25:20
861
原创 一条命令重启挂掉的docker
docker restart $(docker ps -a -q)PS: 为何要重启呢,因为centos会莫名关掉网口,导致openstack挂掉。修改了/etc/sysconfig/network-scripts/ifcfg-em1,把ONBOOT改为yes,希望不会再挂掉。
2017-12-21 19:38:48
3325
原创 YCSB测试远程伪分布式Hbase配置要点
首先,有两台机器,一台安装了YCSB,一台安装了伪分布式的Hbase。但是在操作中YCSB始终连不上Hbase,研究了一番终于搞定,因而记录。Hbase的安装,直接下载官网编译好的包,解压。参照教程搭建。YCSB同样下载编译好的包后解压(我用源码编译不成功)。完成之后,需要配置机器之间的SSH免密码登录,参照官网教程。然后,需要在两台机器hosts中加入对方主机名和ip地址的解析,
2017-12-18 14:59:48
586
1
原创 GlassFish端口被占用问题
Java EE课作业,启动glassfish失败。查看失败原因:java.net.BindException: Address already in use: bind地址被占用(其实是端口)。进入glassfish目录glassfish4\glassfish\domains\domain1\config\domain.xml,搜索"port"查看需要的端口,发
2016-11-21 19:30:06
2404
原创 RedTiger's Hackit Level 3
usr采用了某种编码,usr[0]=? 使php报错,得到加密代码路径。php加密代码中使用了srand定义了种子,因此其后每次rand()值都是固定的。可能是由于php版本不同,我加解密得到的结果和网站不一样,由于rand()算法不同?
2016-10-29 20:33:20
748
原创 RedTiger's Hackit Level 2
username处注入 a' or 'a' = 'a' -- d 不行,应该是把后面frome table给注释掉的原因。由于and的优先级高于or,因此在username后注入的or语句和password判断and在一起,不管用。在password后注入or语句,get !
2016-10-27 21:51:00
752
原创 RedTiger's Hackit Level 1
测试发现cat = 1有返回,其他均报错http://redtiger.labs.overthewire.org/level1.php?cat=1其后接and 1 =1 和 and 1= 2 有不同反馈,存在注入union select 1,2,3,4 发现存在4列,显示第3、4列尝试从information_sechema读取数据,提示disabled。
2016-10-27 21:37:32
1176
原创 蓝桥杯 手链样式 枚举
看到网上有人用的手算解法,还有相关论文。(⊙o⊙)…还是枚举适合我,节约脑力。思路大概就是:1、手链可以转动,所以存储时将字符串加倍,这样就可以找到转动后的情况。2、手链可以翻转,所以再存储一下reverse的字符串。3、枚举方法,直接next_permutation,简单粗暴。#include #include #include #include using
2016-03-18 20:47:13
2966
5
原创 蓝桥杯 神奇算式 dfs
做了三届的题目,发现蓝桥杯的结果填空题解法莫过于枚举和dfs。(偶尔也会来点找规律、递归、dp)#include #include //atoi#include //sprintf#include //memcpy using namespace std;int sum = 0;char num[4] = {0};bool vis[10] = {false};
2016-03-17 16:48:15
801
原创 蓝桥杯 排它平方数 dfs
dfs即可。也不一定要用字符串存储,用int也行,在判断乘积前先判断里面是否有数字相同即可。#include #include using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop */bool vis
2016-03-16 22:23:02
670
原创 使用windows任务计划登陆和关闭QQ
Part 1:打开打开计算机管理中的任务计划右边点创建基本程序,然后按要求填好就可以了。Part 2:关闭创建一个.bat文件,里面输入 taskkill -f -im qq.exe,然后参照part1步骤。
2016-03-05 16:35:47
444
原创 蓝桥杯 横向二叉树 解题报告
树形数据结构,输出的时候采用prestr保存数字之前的.和|#include #include #include #include #include using namespace std;struct BTNode{ int data, len, dis; BTNode *lchild, *rchild;}*root;char prestr[1000],back[1
2015-04-04 20:06:54
418
计算机组成原理第二版课后习题答案_唐朔飞
2014-10-26
计算机网络释疑与习题解答-谢希仁
2014-10-26
C++内层循环中定义变量和在外面定义比影响大吗
2015-04-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人