-
开发常用工具
工欲善其事必先利其器,选择一些好的工具可以成吨的提高自己的工作效率。个人开发常用工具的收集 cmd Markdown 作业部落出版的Markdown编辑器 RESTClient 一个开源的客户端HTTP调试工具。 lantern 蓝灯,一款开源的翻墙工具。 Charles 青花瓷, 一款HTTP/HTTPS的抓包工具。 Charles 从入门到精通 Sublime 一款强大的IDE,支持Python、JS、JSON格式化等等…更重要的是Sublime...…
-
牛客网 剑指offer 两个链表的第一个公共结点
时间限制:1秒空间限制:32768K热度指数:7252本题知识点:链表**算法知识视频讲解题目描述输入两个链表,找出它们的第一个公共结点。题解:利用set或者map保存第一个链表的所有结点值,然后遍历第二条链表,若在set或map中有值则返回当前结点,遍历结束后仍无则返回NULL;(ps:若利用map,可如下定义与保存,)map<int,int>m; //定义m[pHead1->val]++; //保存if(m[pHead2->val]>0)retur...…
-
牛客网 扑克牌顺子
时间限制:1秒空间限制:32768K热度指数:5344本题知识点:字符串**算法知识视频讲解题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…..LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的...…
-
牛客网 剑指offer 和为S的两个数字
时间限制:1秒空间限制:32768K热度指数:7214**算法知识视频讲解题目描述输出描述:对应每个测试案例,输出两个数,小的先输出。题解:利用vector一种利用两层FOR循环然后进行剪枝;一种利用set存储数组中的值,因为递增序列,所以本身就无重复的,恰好可以用set然后遍历查询是否sum-*b在不在set中,若在,则保存到vector中代码如下:class Solution {public: vector<int> FindNumbersWithSum(vector...…
-
二维数组中的查找
时间限制:1秒 空间限制:32768K 热度指数:32359本题知识点: 查找** 算法知识视频讲解题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。题解:由于二维数组每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。所以我们从左下角开始查找,比它大的往右走,比它小的往上走即可代码如下:class Solution {public: boo...…
-
牛客网 剑指offer 把二叉树打印成多行
时间限制:1秒空间限制:32768K热度指数:4603**算法知识视频讲解题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。题解:由于是打印出多行,所以要用队列的话必须判断出一行的 结束点,这个点其实不太好判断,所以我利用了一个结构体,结构体存val,与height,这样的话便将每一个点的高度与值均存下来了,现在只需要根据高度来赋值就好代码如下:/*struct TreeNode { int val; struct TreeNode *left; s...…
-
异或 分堆
题目大意:异或运算是常见的二进制运算,给出两个n位二进制数a,b。a异或b的运算依次考虑二进制的每一位,若这一位相同,那么这一位的异或结果就是0,不同就是1。例如a=1100, b=0100。执行a异或b的运算,a的最高位是1,b的最高位是0,两个数字不同所以最高位异或结果是1;a和b次高位都是1,所以次高位异或为0;最后两位它们都是0,所以异或结果也都是0。那么a异或b的答案就是1000。现在输入两个n位二进制数,输出它们异或结果的十进制答案。上述样例中异或的二进制结果为1000,转化成...…
-
剑指offer 字符串的全排列
来源:牛客网如abc,结果为abc,acb,bac,bca,cab,cba`题解:代码如下:vector<string> Permutation(string str) { vector<string>v; Perm(str,0,str.size()-1,v); sort(v.begin(),v.end()); return v; }bool IsSwap(string v,int a,int b){ f...…
-
剑指offer 有趣的数字
链接:https://www.nowcoder.com/questionTerminal/af709ab9ca57430886632022e543d4c6来源:牛客网小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?输入描述:` 输入包含多组测试数据。 对于每组测试数据: N - 本组测试数据有n个数 a1,a2…an - 需要计算的数据 保证: 1<=N<=100000,0<=ai<=INT_MAX. `输出描述:`对于每...…
-
牛客网 剑指offer 斐波那契
时间限制:1秒空间限制:32768K热度指数:19098题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39代码如下:class Solution {public: int Fibonacci(int n) { if(n<=0)return 0; if(n==1||n==2)return 1; return Fibonacci(n-1)+Fibonacci(n-2); }};…
-
剑指offer 替换空格
时间限制:1秒 空间限制:32768K 热度指数:29569本题知识点: 字符串** 算法知识视频讲解题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。代码如下:class Solution {public: void replaceSpace(char *str,int length) { for(int i=0;i<length;++i){ if...…
-
利用数组初始化二叉树
做剑指offer时都不需要自己初始化二叉树,但是有些时候必须自己初始化二叉树所以就有了这次记录代码如下:#include<iostream>#include<vector>#include<queue>using namespace std;struct BTree{ struct BTree *left; struct BTree *right; int val;}Tree;//这里假设为完全二叉树故判断条件有一个index>v.size()vo...…
-
剑指offer 从尾到头打印链表
时间限制:1秒 空间限制:32768K 热度指数:25160本题知识点: 链表** 算法知识视频讲解题目描述输入一个链表,从尾到头打印链表每个节点的值。利用dfs即可代码如下:/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }* };*/class Solu...…
-
美团在线编程题 拜访
时间限制:3秒 空间限制:32768K 热度指数:1673本题知识点: 动态规划** 算法知识视频讲解题目描述现在有一个城市销售经理,需要从公司出发,去拜访市内的商家,已知他的位置以及商家的位置,但是由于城市道路交通的原因,他只能在左右中选择一个方向,在上下中选择一个方向,现在问他有多少种方案到达商家地址。给定一个地图map及它的长宽n和m,其中1代表经理位置,2代表商家位置,-1代表不能经过的地区,0代表可以经过的地区,请返回方案数,保证一定存在合法路径。保证矩阵的长宽都小于等于10。测...…
-
牛客网 翻转单词顺序列
时间限制:1秒空间限制:32768K热度指数:6831本题知识点:字符串**算法知识视频讲解题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?题解:利用空格分离字符串,用v...…
-
牛客网 把字符串转换成整数
时间限制:1秒空间限制:32768K热度指数:5997本题知识点:字符串**算法知识视频讲解题目描述输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0输入例子:+2147483647 1a33输出例子:2147483647 0题解:先判断第一位,再遍历字符串,若不为数字,则break;否则继续加代码如下:class Solution {public: int StrToInt(string str) { ...…
-
牛客网 左旋装字符串
时间限制:1秒 空间限制:32768K 热度指数:7423本题知识点: 字符串算法知识视频讲解题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!题解:利用substr函数代码如下:class Solution {public: string...…
-
Android Studio与Genymotion
记录下自己的一时兴起所导致的坑,正所谓自己挖的坑,就得自己填。。1.由于重装电脑,手残的把用户名设置为了中文,所以不管是在安装Android Studio还是在使用Genymotion时都遇到了一系列由于中文所导致的问题,如Android Studio无法打开,Genymotion安装模拟器并不能安装等等。。。这种问题怎么解决呢,第一,如果你不想再次重装,那你就重开一个账户,用来装Android与Genymotion等2.若是碰到了无法启动模拟器的情况,我以我碰到的问题来说明一下1.无法启...…
-
牛客网 剑指offer 和为S的连续正数序列
时间限制:1秒空间限制:32768K热度指数:6377**算法知识视频讲解题目描述输出描述:输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序题解://sum=(a1+an)n/2;n=an-a1+1;(a1+an)(an-a1+1)=2*sum=d*l;a1=(d-l+1)/2;an=(d+l-1)/2代码如下://s=(a1+an)n/2;n=an-a1+1;class Solution {public: vector<...…
-
牛客网 剑指offer 和为S的两个数字
时间限制:1秒空间限制:32768K热度指数:7214**算法知识视频讲解题目描述输出描述:对应每个测试案例,输出两个数,小的先输出。题解:利用vector一种利用两层FOR循环然后进行剪枝;一种利用set存储数组中的值,因为递增序列,所以本身就无重复的,恰好可以用set然后遍历查询是否sum-*b在不在set中,若在,则保存到vector中代码如下:class Solution {public: vector<int> FindNumbersWithSum(vector...…