大厂必考:186道算法真题(带解析)
==================
-
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
-
一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?
-
输入某年某月某日,判断这一天是这一年的第几天?
-
输入三个整数x,y,z,请把这三个数由小到大输出。
-
输出9*9口诀?
-
利用递归方法求5!
-
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
-
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和
-
兔子的规律为数列1,1,2,3,5,8,13,21…
-
判断101-200之间有多少个素数,并输出所有素数。
-
打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方
-
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
-
利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示
-
输入两个正整数m和n,求其最大公约数和最小公倍数
-
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
-
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制
-
一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数
-
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高
-
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字
-
请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
刷题能理解算法题答案的由来,但是真正面试考的是你是否真正搞懂了算法,搞懂算法其实真不算难。多看资料多刷题,一切都不是问题。小编整理了一份关于算法的秘笈,需要的朋友关注转发并私信我(算法)即可获得免费下载方式
高阶算法类型
======
二分算法
又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。
冒泡排序算法
比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1 个位置。N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成。
归并排序算法
归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序的序列合并为整体有序序列。
桶排序算法
桶排序的基本思想是: 把数组 arr 划分为 n 个大小相同的区间(桶),每个子区间各自排序,最后合并 。计数排序是桶排序的一种特殊情况,可以把计数排序当成每个桶里只有一个元素的情况。
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频**
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-qmc3FgnN-1710778158555)]