![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔试遇到的算法题
十八岁讨厌Java
我要变强
展开
-
笔试题:最大正方形在一个由 ‘0‘ 和 ‘1‘ 组成的二维矩阵内,找到只包含 ‘1‘ 的最大正方形,并返回其面积。
【代码】笔试题:最大正方形在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。原创 2022-09-28 09:27:10 · 541 阅读 · 0 评论 -
课程表排序问题,图的拓扑排序!
【代码】课程表排序问题,图的拓扑排序!原创 2022-09-27 11:04:28 · 915 阅读 · 0 评论 -
对一串数字进行切割,尽可能的切割为能被七整除的数字,如一串数字12457,可以切分为124|5|7,有两段能被7整除 ,求切割后最多能有多少段的数字和能被7整除。
对一串数字进行切割,尽可能的切割为能被七整除的数字,如一串数字12457,可以切分为124|5|7,有两段能被7整除 ,求切割后最多能有多少段的数字和能被7整除。原创 2022-09-11 15:49:13 · 493 阅读 · 0 评论 -
我们称一个长度为n的序列为正则序列,当且仅当该序列是一个由1~n组成的排列,即该序列由n个正整数组成,取值在[1,n]范围,且不存在重复的数,同时正则序列不要求排序有一天小团得到了一个长度为n的任
我们称一个长度为n的序列为正则序列,当且仅当该序列是一个由1~n组成的排列,即该序列由n个正整数组成,取值在[1,n]范围,且不存在重复的数,同时正则序列不要求排序有一天小团得到了一个长度为n的任。输入第一行仅包含一个正整数n,表示任意序列的长度。(1原创 2022-09-10 08:46:04 · 752 阅读 · 0 评论 -
递归方法反转链表(Java实现)
递归方法反转链表(Java实现)原创 2022-09-09 20:50:28 · 1033 阅读 · 0 评论 -
回收废品,每次选两个来切碎,分别是m和n且m<=n, 当m==n时 ,两个都切碎(即数组直接少了m和n),如果m<n,则m切碎,n=n-m ,切到最后 剩余一个废品则返回废品大小,若剩0个则返回0
回收废品,每次选两个来切碎,分别是m和n且m原创 2022-09-08 17:01:02 · 225 阅读 · 0 评论 -
一堆卡片,每张卡片有两个数,形成一个区间,如card[i]=[2,9], 现对卡片重新组装,合并区间,生成不相交的集合,如 card[1,5] card[2,9] 合并为card[1](Java题解)
描述:合并区间是完美世界的笔试题,描述如下以数组intervals表示若干个区间的集合,其中单个区间为intervals[i] = [starti, endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。原创 2022-09-08 16:55:28 · 429 阅读 · 0 评论 -
请你设计一个LRU(最近最少使用)缓存约束的数据结构
请你设计并实现一个LRU(最近最少使用)满足约束的数据结构。实现LRUCache类:LRUCache(int capacity)以正整数作为容量capacity初始化 LRU 缓存int get(int key)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。void put(int key, int value)如果关键字key已经存在,则变更其数据值value;如果不存在,则向缓存中插入该组key-value。如果插入操作导致关键字数量超原创 2022-09-08 15:02:04 · 1037 阅读 · 0 评论 -
求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方”(快速幂Java实现)
快速幂算法的核心思想就是**每一步都把指数分成两半,而相应的底数做平方运算。这样不仅能把非常大的指数给不断变小,所需要执行的循环次数也变小,而最后表示的结果却一直不会变。(1)对于2的10次方来讲,可以对其进行拆分:2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2。按照这个思路,可以对所有指数为偶数的不断优化。但是如果指数为奇数呢,比如上面的4^5。此时指数变成了一半,多计算了一次底数平方,少计算5次指数运算。原创 2022-09-08 10:47:47 · 750 阅读 · 0 评论 -
给定一个入栈序列和一个出栈序列,判断这个出栈序列是否合法
/给定一个入栈序列和一个出栈序列,判断这个出栈序列是否合法如果栈不为空,且获取到的栈顶元素等于弹出序列。//弹出序列向后一位。//用于标识弹出序列的位置。原创 2022-09-08 10:16:24 · 1035 阅读 · 0 评论 -
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
System.out.println("留下的是原来第" + (list.get(0) + 1) + "号");有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。原创 2022-09-07 18:05:25 · 995 阅读 · 0 评论 -
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地时,共经过多少米?第n次反弹多高?
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第n次落地时,共经过多少米?输入10,输出100.000000 50.000000。原创 2022-09-07 17:33:51 · 1170 阅读 · 0 评论