08 2020 档案

摘要:题目 输入一个整数n,求1~n这n个整数的十进制表示中1出现的次数。 题解思路 记当前位为cur,且在x的数中,高位部分为high,低位部分为low,即x的十进制表示为 high cur low的表示,例如1234,如果当前位为3,则高位部分为12,地位部分为4,且当前的数字因子digit为101 阅读全文
posted @ 2020-08-31 01:33 珂珂哒 阅读(156) 评论(0) 推荐(0)
摘要:题目描述 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 算法描述 使用动态规划,对于输入的数组nums[],定义数组dp[nums.length],并且dp[i]表示以num[i]为结尾的子数组的和的最大值,则状态转移方程为 * 如果dp[i-1]<=0,那 阅读全文
posted @ 2020-08-31 00:01 珂珂哒 阅读(80) 评论(0) 推荐(0)
摘要:相关阐述 小顶堆:Java中的PriorityQueue<>()默认为小顶堆实现,即队列的顶部元素为最小值,内部按照升序排好 大顶堆:跟小顶堆相反,需要使用PriorityQueue<>((x,y)->(y-x))来实现,队列的顶部元素为最大值,内部按照降序排好 分析 假设存在A为普通的小顶堆,B为 阅读全文
posted @ 2020-08-30 16:10 珂珂哒 阅读(234) 评论(0) 推荐(0)
摘要:题目 输入整数数组,找到其中最小的k个数 算法思路 利用快排的每次选取锚点将其插入到合适的位置的特性,可以直接返回最小的k个数而不需要完整的排序 代码 public int[] getLeastNumbers(int[] arr, int k) { if(k==0||arr.length==0)re 阅读全文
posted @ 2020-08-30 15:26 珂珂哒 阅读(402) 评论(0) 推荐(0)
摘要:相关概念 投票和:由于数组中所要寻找的众数大于数组的一般长度,所以如果记跟众数x相等的数票数为+1,不等的为-1,那么最后的总和票数一定是大于0的; 票数正负抵消:如果出现了前i个数的投票和为0,那么数组中剩下的部分的投票和一定会大于0; 算法构建 首先设置数组中第一个数为众数x,那么发生正负抵消时 阅读全文
posted @ 2020-08-30 12:06 珂珂哒 阅读(183) 评论(0) 推荐(0)
摘要:题目 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) 说明 B是A的子结构, 即 A中有出现和B相同的结构和节点值。 思路 使用递归,将A,B进行判断是否相等,如果不等,就判断A的左右子树是否与B相等,直到为空,判断A与B是否相等是指从A、B的根节点开始遍历数,遍历 阅读全文
posted @ 2020-08-26 14:42 珂珂哒 阅读(68) 评论(0) 推荐(0)
摘要:public boolean isNumber(String s) { if(s == null || s.length() == 0){ return false; } boolean numSeen = false; boolean dotSeen = false; boolean eSeen 阅读全文
posted @ 2020-08-26 12:35 珂珂哒 阅读(107) 评论(0) 推荐(0)
摘要:例如给定一些字符串或者数字,要求返回他们重复或者不重复的组合,这就是全排列的问题,其他类型可以是该问题的变种,例如电话号码的字母组合 解决思路:使用深度搜索加回溯,也就是利用递归加回溯的方法,遍历所有集合,如果找到符合要求的(一般是长度相等),就可以压进全局变量中,最后返回 模板: List<Str 阅读全文
posted @ 2020-08-26 11:31 珂珂哒 阅读(168) 评论(0) 推荐(0)
摘要:题目说明 查找给定的一个数组中的所有递增子序列,子序列长度>=2并且可以为本身 解释说明 给定一个数组,查找一个所有递增子序列,可以简化成从数组中找到所有长度为2、3、4......n的递增子序列,而为了从中找到长度为i的递增子序列,我们可以利用深度优先搜索的方式,先将一个数入栈,然后进行向后的深度 阅读全文
posted @ 2020-08-25 20:42 珂珂哒 阅读(1640) 评论(0) 推荐(0)
摘要:不得使用库函数,不必考虑大数问题 * 虽然不必考虑大数问题,但是,Integer.MIN_VALUE一但取反,就会溢出,所以需要考虑该特殊情况 因为有时间的限制,所以n循环是不可行的,采用二分的方法进行优化,同时考虑到最小值取反会溢出,所以这里采用将一开始的负数n进行/2的操作再进行取反,保证不会溢 阅读全文
posted @ 2020-08-25 14:51 珂珂哒 阅读(98) 评论(0) 推荐(0)
摘要:对于如果给定的数全是正数,可以使用循环取模1的方式获取 public int hammingWeight(int n) { int sum = 0; while(n>1){ if(n%2==1)sum++; n /= 2; } if(n==1)sum++; return sum; } 通用法,跟1与 阅读全文
posted @ 2020-08-25 12:21 珂珂哒 阅读(100) 评论(0) 推荐(0)
摘要:首先在控制台进行2到9的结果测试: 输入 输出 2 1 3 2 4 4 5 6 6 9 7 12 8 18 9 27 从4开始看起找规律 输入 输出 4 30*4 5 31*2 6 32 7 31*4 8 32*2 9 33 发现规律编写代码 public int cuttingRope(int n 阅读全文
posted @ 2020-08-25 11:23 珂珂哒 阅读(94) 评论(0) 推荐(0)
摘要:前中后序的遍历是指对一个二叉树而言,最终的遍历结果的根节点是在哪里的顺序,即 * 前序遍历:根节点、左子树、右子树 * 中序遍历:左子树、根节点、右子树 * 后序遍历:左子树、右子树、根节点 重建的思路:根据根节点位置找到根节点,例如前序的首位或者后续的末尾,然后在中序遍历中找到根节点的位置,借此划 阅读全文
posted @ 2020-08-24 20:31 珂珂哒 阅读(120) 评论(0) 推荐(0)
摘要:IO 什么是IO IO指的是文件的输入输出,在操作系统层面指的是把文件从磁盘拷贝到用户空间中的过程 IO流 按照流的流向分,可以分为输入流和输出流; 按照操作单元划分,可以划分为字节流和字符流; 按照流的角色划分为节点流和处理流。 Java Io流共涉及40多个类,这些类看上去很杂乱,但实际上很有规 阅读全文
posted @ 2020-08-24 19:26 珂珂哒 阅读(150) 评论(0) 推荐(0)
摘要:底层的两个变量 loadFactor:加载因子,默认是0.75(是经过反复测试的) threshold:当map里面的数据大于该值就会进行扩容(threshold=容量*加载因子) HashMap提供四种构造方法:一是给定初始容量和加载因子的构造方法,二是给定初始容量,使用默认的加载因子,三是什么参 阅读全文
posted @ 2020-08-24 19:24 珂珂哒 阅读(1414) 评论(0) 推荐(0)
摘要:题型:选择题、填空题、问答题,综合及编程题 Chapter 1 嵌入式系统概述 嵌入式系统的定义 内涵上,嵌入式系统是以应用为中心、计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统; 外延上,把数字计算机系统分成通用计算机和嵌入式系统两大类。通用 阅读全文
posted @ 2020-08-18 19:10 珂珂哒 阅读(919) 评论(0) 推荐(0)