博客主页 所有文章 标签 关于我
img

kongweitu

将成为优秀程序员的我

孔维图

个人站

欢迎来到我的个人站~


  • 博客主页
  • 所有文章
  • 标签
  • 关于我
  1. 牛客网 剑指offer 数组中重复的数字

    时间限制:1秒空间限制:32768K热度指数:6192本题知识点:数组**算法知识视频讲解题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。题解:利用map来判断是否为重复数字,若map[x]的值大于1则为重复数字返回true,若无,则返回falseps...…

    2017-03-10
    阅读全文 »

  2. 牛客网 剑指offer 把二叉树打印成多行

    时间限制:1秒空间限制:32768K热度指数:4603**算法知识视频讲解题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。题解:由于是打印出多行,所以要用队列的话必须判断出一行的 结束点,这个点其实不太好判断,所以我利用了一个结构体,结构体存val,与height,这样的话便将每一个点的高度与值均存下来了,现在只需要根据高度来赋值就好代码如下:/*struct TreeNode { int val; struct TreeNode *left; s...…

    2017-03-10
    阅读全文 »

  3. 牛客网 剑指offer 平衡二叉树

    时间限制:1秒空间限制:32768K热度指数:6833**算法知识视频讲解题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。题解:判断是否为平衡二叉树的条件是左孩子的高度与右孩子的高度相差至少为2时就不平衡,否则平衡,所以定义一个getheight函数来获得结点的高度,然后进行递归判断是否为平衡二叉树即可注意当传入的结点为空时则为平衡二叉树,因为此时遍历完一条边,需要计算高度来判断是否为平衡二叉树,所以需要返回true.代码如下:class Solution {public: i...…

    2017-03-10
    阅读全文 »

  4. 牛客网 剑指offer 从上往下打印二叉树

    时间限制:1秒空间限制:32768K热度指数:10910**算法知识视频讲解题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。利用队列,当当前结点不为空,push进入队列,然后在while循环中检测它的左孩子与右孩子是否存在,若存在则push进入队列,将每一个pop出来的结点的值放入vector,即为层次遍历的结果代码如下:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; Tr...…

    2017-03-10
    阅读全文 »

  5. 牛客网 剑指offer 两个链表的第一个公共结点

    时间限制:1秒空间限制:32768K热度指数:7252本题知识点:链表**算法知识视频讲解题目描述输入两个链表,找出它们的第一个公共结点。题解:利用set或者map保存第一个链表的所有结点值,然后遍历第二条链表,若在set或map中有值则返回当前结点,遍历结束后仍无则返回NULL;(ps:若利用map,可如下定义与保存,)map<int,int>m; //定义m[pHead1->val]++; //保存if(m[pHead2->val]>0)retur...…

    2017-03-10
    阅读全文 »

  6. Java代码优化

    时间限制:1秒空间限制:32768K热度指数:15692本题知识点:链表**算法知识视频讲解题目描述输入一个链表,输出该链表中倒数第k个结点。两个指针,第一个指针指到第k位时,第二个指针开始操作,因为总长相同,n=k+m ; n=m+k;或者利用dfs完美解决代码如下://dfs::/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class...…

    2017-03-09
    Java代码优化
    阅读全文 »

  7. Java高并发模板

    时间限制:1秒空间限制:32768K热度指数:15060本题知识点:数组**算法知识视频讲解题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。以空间换时间代码如下:class Solution {public: void reOrderArray(vector<int> &array) { vector<int>...…

    2017-03-09
    Java高并发知识点。
    阅读全文 »

  8. 牛客网 剑指offer 重建二叉树

    时间限制:1秒空间限制:32768K热度指数:15861**算法知识视频讲解题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?斐波那契公式的翻版代码如下:class Solution {public: int rectCover(int number) { int b=1,a=0,sum=0; for(int i=1;i<=number;++i){ sum=...…

    2017-03-09
    阅读全文 »

  9. 牛客网 剑指offer 求次方

    时间限制:1秒空间限制:32768K热度指数:14709**算法知识视频讲解题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。本以为用循环会有什么地方不对,,,囧。。代码如下:class Solution {public: double Power(double base, int exponent) { if(exponent<0){ base=1/base; ...…

    2017-03-09
    阅读全文 »

  10. 牛客网 剑指offer 二叉树的镜像

    时间限制:1秒空间限制:32768K热度指数:12848**算法知识视频讲解题目描述输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5就是简单递归,将左孩子变成右孩子,右孩子变成左孩子,利用一个temp保存需要先换的一个即可代码如下:...…

    2017-03-09
    阅读全文 »

  11. 牛客网 剑指offer 二叉树的镜像

    时间限制:1秒空间限制:32768K热度指数:5159本题知识点:数组**算法知识视频讲解题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]*A[1]*…*A[i-1]*A[i+1]*…*A[n-1]。不能使用除法。代码如下:第一种low方法class Solution {public: vector<int> multiply(const vector<int>& A) { ...…

    2017-03-09
    阅读全文 »

  12. 牛客网 剑指offer 二进制中1的个数

    时间限制:1秒空间限制:32768K热度指数:17492题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示利用逻辑与运算求1个数从最右边的1开始消去,每一次与运算消去一个1代码如下: int NumberOf1(int n) { int cnt=0; while(n!=0){ ++cnt; n=n&(n-1); //cout<<n<<endl; } return cnt; }…

    2017-03-09
    阅读全文 »

  13. 时间限制:1秒空间限制:32768K热度指数:6266**算法知识视频讲解题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。可以用++,–自增自减符号代码如下:class Solution {public: int Add(int num1, int num2) { if(num1<0){ num1=0-num1; for(int i=1;i<=num1;++i){ ...…

    2018-09-10
    阅读全文 »

  14. GitHub 我们怎么用

    时间限制:1秒空间限制:32768K热度指数:8903题目描述通过github我们学习什么,了解什么,展示些什么。为什么 GitHub 可以加分?很多招聘描述上面都会备注 GitHub 是加分项,那么为什么它是加分项呢?停,如果看到这里你还不知道 GitHub 是什么,可以看一下 Phodal的手记:https://github.com/phodal/github (手动粘贴或者阅读原文)。社区光环,众所众知,GitHub 是开发者的“同性交友社区”。Google, FB, Alibaba...…

    2017-03-09
    生活点滴
    阅读全文 »

  15. 牛客网 剑指offer 重建二叉树

    时间限制:1秒空间限制:32768K热度指数:15259题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。代码如下:/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * ...…

    2017-03-08
    设计模式
    阅读全文 »

  16. 题目小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?注意点:先从小到大进行排序,遍历一遍看有多少相同的数,若有相同数则min+=(n)*(n-1)/2,如果无相同数,则从小到大再次遍历即可获得最大的数为最小的数的个数*最大的数的个数(他们不相同),若相同则n*(n-1)/2代码如下:#include<iostream>#include<vector>#include<algorithm>#include<m...…

    2018-09-10
    阅读全文 »

  17. 线程和进程的历史

    题目我们都知道计算机是由软件和硬件组成的。硬件的核心是CPU,它承担着计算机所有的任务,操作系统是运行在硬件之上的软件,它负责资源的分配和管理,任务的调度。程序是具有一定功能的软件,每次执行程序的时候,它一定是完成一定的功能,例如,打开音乐播放器,完成播放音乐的功能,打开Word,完成文字编辑的功能。为了保证其功能实现的独立性,就需要一个专门管理和控制执行程序的数据结构–进程控制块。进程就是一个程序在一个数据集的一次动态执行过程。进程一般由程序、数据集、进程控制块三部分组成。我们一般写的程...…

    2017-03-07
    Java基础
    阅读全文 »

  18. Java代码整洁之道

    题目 JAVA代码整洁之道首先,我们为什么需要代码整洁。 一、代码整洁是一个程序员的专业素养和基本功的良好体现,是时时刻刻体现在你敲的每一个字母中的。二、代码整洁可以帮助我们解决很多不必要的麻烦和问题,比如,你是不是有时候连续加班几个月写完了一个项目, 辛辛苦苦完成了功能,但是那一堆如乱码的代码是不是使你以后的工作维护中耗尽你的精力,当需要扩展和改造 你的项目时,你是不是感觉有时无从下手,或者代价太大让你很头疼。这当中很多问题都可以当初规避掉。之后,我们应该怎么样学习J...…

    2017-03-07
    代码优化
    阅读全文 »

  19. Java框架模板

    string和数值之间的转换(均为C++11)to_string(val) //可将任何算术类型转为数值val的string表示stoi(s,p,b) /*返回s的起始子串(表示整数内容)的数值,b表示转换所用的 基数,默认值为10;p是size_t指针,用来保存s中第一个非数值 字符的下标,默认为0,即不保存下标 每个类型都有相应的 to_string版本...…

    2017-02-08
    Java框架类
    阅读全文 »

  20. 今天是关于学习C++的标准库的相关内容STRING#include<iostream>#include<string>using namespace std;int main(){ string s; cin>>s; //当有字符出现后遇空白(空格符,换行符,制表符)便终止 //如输入”sdjajsd 1321weia“ 输入的结果将只会为sdjajsd cout<<s<<endl; return 0;}s...…

    2018-09-10
    阅读全文 »


← 最近 2 / 3 更早 →
  • Weibo
  • Github
  • RSS
  • Email

Copyright © 孔维图 2018 Theme by leopardpan |

本站总访问量 次