09 2022 档案
摘要:起因是我做笔试,要写出所有子序列并做条件判断,我以为是回溯改一改,但事实上完全不是这样的 直达链接 主要是1,利用二进制序列枚举快速生成所有的可能子序列,然后利用哈希算法对数组去重(这个哈希算法可以直接背) vector<int> temp; vector<vector<int>> res; uno
阅读全文
摘要:public class Test{ public static void main(String[] args) { System.out.println(new A()); } } class A{ @Override public String toString() { return "hel
阅读全文
摘要:public static void main(String[] args) { List<String> allElements = List.of("a","b","c","d","e","f"); List<String> allList = new ArrayList<>(allElemen
阅读全文
摘要:已经知道的,字符串直接量会采用字符串常量池 new String会创建一个新的对象并分配内存地址 所以他俩==返回是false 我起初是不知道这个intern()方法是干嘛的 intern()方法返回字符串对象的规范化表示形式 从字符串常量池中查询当前字符串是否存在,若不存在就会将当前字符串放入常量
阅读全文
摘要:public static void main(String[] args) { System.out.println(test()); } public static int test(){ int a= 1; try{ a=2/0; return a; }catch (Exception e){
阅读全文
摘要:public static void main(String[] args) { String s=""; System.out.println(s==null); int[] arr = new int[]{}; System.out.println(arr==null); List<Intege
阅读全文
摘要:京东笔试,总体难度比较低,但是最后一道我做不来 这题如果有思路应该不难,我觉得应该是动态规划相关的 题目 题目长这样 我又看到力扣有这种博弈类型的题目,我觉得这是我的盲区,应该补一下短板
阅读全文
摘要:直达链接 直观的想法:我可以遍历并重建,但也很明显效率低下,可能达到O(N2),但或许可能拿来当作练习,检查自己遍历/重建二叉树的基本功 不过现在先想想有没有效率更高的解法,我觉得重点应该是修改节点的两个指针 简单地画图分析后,我认为: 对于有两个孩子节点的节点,只需要将其左右孩子指针互换 对于只有
阅读全文
摘要:小米2020的秋招笔试卷遇到了 n个节点可以构成多少不同的二叉搜索树? f(1) = 1 f(2) = f(1) + f(1) f(3) = f(2) + f(1)*f(1) + f(2) … … 由此,我们可以得到递推式: f(n) = f(n-1) + f(n-2)\*f(1) + … + f(
阅读全文
摘要:public class Test{ public static void main(String[] args) { int x = 1; System.out.println("value is"+((x>0)?99:9.9)); // 99.0 } } 以两个数中更高的精度输出
阅读全文
摘要:同程-笔试 public class Test extends Super{ // public Integer getLength(){return 8;}; public Long getLength(){return new Long(5);} // 这里的Long返回值会报错 public
阅读全文
摘要:题目如下 按理来说,初始化顺序应该是: 静态代码块 静态变量在静态代码块语句之前执行,因为向前引用非法(静态变量在静态代码块后执行) 2. main() 3. 构造代码块 4. 构造方法 但是这里不太一样,这里用到了懒汉单例模式 运行结果是这样的: 构造函数执行,此时: 0 1 3 静态代码块执行此
阅读全文
摘要:输出是:99100 ASCII码:A-65,a-97 经测试,将int和char运算输出是int,Java、C++都是 盲猜是为了避免运算结果ASCII码非法导致输出? int i = 2; int j = i + 'b'; char s = i + 'b'; int f = 'A'; cout <
阅读全文
摘要:题目如下,小米23秋招-9.20-笔试 首先这是一道C++的题,注意到的第一点是这个二维数组的初始化方式,他是给了一种一维数组的赋值方式,虽然没见过,但是想当然应该是逐层填充 经测试确实似乎这样的,而且给的初始值过多会报错,给少了打印默认值0 int nums[3][5] = { 1,2,3,4,5
阅读全文
摘要:拓扑排序的定向模板题,AOV网 直达链接 210 和 207 如出一辙,但是 210 需要构造并返回拓扑序列,更适合学习 拓扑排序 拓扑序列的定义如下: 有向图中所有顶点形成的线性序列,对于两个任意顶点 Vi 和 Vj,如果有向图中存在一条 Vi 到 Vj 的路径,那么在线性序列中 Vi 一定在 V
阅读全文
摘要:做笔试遇到了关于掩码、子网容量的相关计算,完全没概念,于是去复习 这是笔记 总得来说,掩码是因为子网划分而存在的,通过掩码可以确定一个标准网络号下的子网号,进而确定子网容量 复习完就想亲手写一个程序,完成对一个IP地址的解读和转化 可以复习知识点 下次遇到的时候可以直接用自己写的程序快速得出想要的信
阅读全文
摘要:笔试 打印二叉树 一个重建二叉树+中序遍历打印的问题 麻烦的是C++中没有现成的替换字符串中子字符串的函数 #include <iostream> #include <vector> #include <stack> #include <string> using namespace std; st
阅读全文
摘要:直达链接 最直接的做法是扫一遍,统计每个数字出现的次数,可以用hashmap 怎么获取hashmap中值最大的元素? 可以排序,然后双指针滑动窗口,保存最大长度和对应的数字 …算是时间复杂度O(N),空间O(1)吧 class Solution { public: int majorityEleme
阅读全文
摘要:抛开空间复杂度O(N)的解法(转字符串),要想O(1),还是反转的思想 确切地说,是造一个长度为原数字位数一半、各位数与原数字反转的数 例如:原数字1234,要构造的就是43 原数字123,要构造的就是32 怎么取各位数字呢?答案是“%”与“/”操作的组合 这里要注意的一点是,因为两个运算操作都是对
阅读全文
摘要:这只是一道简单题,我看到题目示例的时候理所当然地想用“栈”来解决 扫描一个元素,如果栈空或者栈顶元素不等于当前节点值,就压栈,否则弹栈 后来却接连碰壁 没有考虑单节点,例如“1”地情况 没有考虑单数节点,例如“101”地情况 其实本质上还是没有考虑单数的情况 栈其实不好解决单数的情况,还是因为不知道
阅读全文
摘要:直达链接 从1开始遍历判断 书上给出了两个解法,1是很简单直接的遍历,从1开始判断每个数是不是“丑数”并计数,直到指定的n返回 bool isUglyNumber(int n) { while (n % 2 == 0) n /= 2; while (n % 3 == 0) n /= 3; while
阅读全文
摘要:归并排序也是属于效率较高的排序,时间复杂度O(N logn),而且无论最好最坏情况都是O(N logn) 但是需要额外的O(N)的临时空间存放排序后的数组,这么说来是外部排序为不是内部排序 采用了分治的思想, 先分将数组元素分为最小只有一个元素的单位 分成两部分,称为二路归并,此外还有三路归并 2.
阅读全文
摘要:只过了1/5 另外我觉得这个办法也挺不优雅的,效率估计也不是很高 int main() { int x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2; vector<pair<int, int>> horse; // 要判断马的坐标和马可以到达的坐标是否合法 i
阅读全文
摘要:编程题 1. 最小位数和 第二次做还卡了半天50%,需要考虑到%结果为0不打印的情况 #include <iostream> #include <vector> using namespace std; void S(vector<int>& nums) { string str; for (int
阅读全文
摘要:建表语句及原始数据 CREATE TABLE student ( sid int PRIMARY KEY, sname VARCHAR(20), sage DATETIME, ssex CHAR(4) ) insert into student values('01' , '赵雷' , '1990-
阅读全文