摘要:
输入一个递增排序的数组和一个数字S,在数组中查找两个数, 使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 1.自己用迭代器两个指针做的 1.left开头,right指向结尾 2.如果和小于sum,说明太小了,left右移寻找更大的数 3.如果和大于sum,说明太大了,rig 阅读全文
摘要:
因为两个链表长度不一致 又长又短 而后面部分是公共的,所以求出长链表长度和短链表长度 让长链表把他俩之间的差距先走完,然后两个链表并行的走,直到碰到第一个相同的节点 阅读全文
摘要:
反正不想用递归 但是一说是排序的 最好又用二分查找,这样比较快; 方法一 :找出重复数字出现第一次的坐标。以及出现最后一次的坐标; 方法二: 利用一点小技巧 阅读全文
摘要:
复制代码 // 面试题54:二叉搜索树的第k个结点 // 题目:给定一棵二叉搜索树,请找出其中的第k大的结点。 #include <iostream> #include "BinaryTree.h" const BinaryTreeNode* KthNodeCore(const BinaryTreeNode* pRoot, unsigned int& k); const BinaryTreeNod 阅读全文
摘要:
判断二叉树深度 判断平衡二叉树 (任意节点的左右子树深度相差不超过1 ;那么是) 阅读全文
摘要:
事实上,我们并不是每个函数都需要跟进去看执行结果的,比如我们在自己的函数中调用printf函数时,并没有钻进去看它是怎么打印的,因为我们相信它能完成打印工作。 如果你相信你正在写的递归函数是正确的,并调用它,然后在此基础上写完这个递归函数,那么它就会是正确的,从而值得你相信它正确。 以上两句话就是要 阅读全文
摘要:
1 我想的是用map key放值,value放次数。 但是好像不太好 2 set 也可以 遍历输入的vector,当前数字不在set中则插入,否则从set删除(出现两次的数字) 这样结束遍历后set中剩余的就是要找的那两个只出现了一次的数字 3 异或 位运算 本题考查点 阅读全文
摘要:
https://www.cnblogs.com/linuxAndMcu/p/10259630.html 一、vector介绍: vector(向量): 是一种序列式容器,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好 阅读全文