算法
文章平均质量分 54
各种算法
Yellow0523
这个作者很懒,什么都没留下…
展开
-
美团-大数据开发实习面试
算法问了4道都比较简单,分别考的二分,递归,双指针以及动态规划。704. 二分查找力扣原题,注意边界条件,以及是否能取等号即可。704. 二分查找代码如下: 3.双指针递增数组,判断数组中是否存在两个数之和为target,思路是双指针,一个begin,一个end,每次移动一个指针。167. 两数之和 II - 输入有序数组代码如下: 4.最长递增子序列LIS(动态规划)300. 最长递增子序列DP代码如下:最优时间复杂度为O(nlogn)写完四道算法之后,开始问项目,问了大概半小时原创 2022-07-05 17:02:12 · 1172 阅读 · 1 评论 -
Java String,char,int类型的相互转换
输出结果:输出结果: 3.string转int的方法(两种方法)输出结果为:4.string转char的方法输出结果为:5. char转int (两种方法)输出结果:原创 2022-06-26 01:51:54 · 1031 阅读 · 0 评论 -
华为机试4.20:按照路径替换二叉树
这是华为第二道200分的题,考的是树的基本结构。将一颗子二叉树按照路径替换到另一颗根二叉树中,得到一颗新的二叉树。替换动作满足如下条件:1.子树的根节点完全替换根二叉树对应的节点2.子树根节点下的子树完全保留3.根二叉树的对应节点下的子树完全删除输入输入为3行第一行:一个数组,表示根二叉树。二叉树的每个节点在1到9之间,包含1和9,空节点用0表示。第二行:一个字符串,表示子二叉树根节点对应根二叉树的节点,如“/1/2”对应(每个节点下不存在相同的子节点,即pa原创 2022-05-04 15:57:17 · 3480 阅读 · 0 评论 -
华为机试4.20:新员工考试
复盘一下之前的笔试做的题目,这是第一题,100分的题目。考的回溯,当时也没做出来。1.新员工考试小聪入职新公司,参加线上的新员工必备考试,考试共25题,以此是10个判断题(每题2分)、10个单选题(每题4分)和5个多选题(每题8分),总分100分。考题只能顺序作答,答对题目获得相应分数,答错题目获得0分,考试系统不提示作答是否正确,答题过程中如果累积有3题答错,直接中止考试并计算考试分数。小聪考试结果是N分(0<=N<=100),请根据小聪的分数,算出所有可能的答题情况的个数原创 2022-05-03 18:57:11 · 2924 阅读 · 1 评论 -
腾讯笔试04-24 题目三
有n个战士站在一排,分别编号1,2,3,...n,战士的战斗力等于他的编号,有一些战士只会进攻,有一些战士只会防守。现在我们要将他们从某个点开始分为两个阵营,假设这个点为pos(0<=pos<=n),则编号1,2,3,...pos的战士为第一个阵营,pos+1,pos+2,...n的战士为第二阵营。假设pos为0时,说明第一阵营没有战士,所有的战士都在第二阵营。我们令第一战士为进攻方,第二战士为防守方,假设第一个阵营中能够进攻的战士战斗力总和为w,第二个阵营中能够防守的战士战斗力总和为v,我们希原创 2022-04-25 15:02:22 · 1244 阅读 · 0 评论 -
腾讯笔试04-24 题目二
牛牛有一个长度为n的数组a,数组下标从1~n。牛牛每一次会将a中所有下标为非质数的元素进行删除,即aj且j不为质数。在删除完成之后,牛牛会将数组a重新按顺序拼接起来。牛牛不断循环和这个过程,直到数组a的大小为1。牛牛现在给你这个数组,他想知道这个数组最后剩下的那个元素值是多少呢,请告诉牛牛。注:1不是质数(本题是核心模式,不需要自己处理输入输出,完成函数即可)示例1[1,2,3,4]输出3说明第一次数组会变成[2,3]。第二次数组会变成[3]。示例2原创 2022-04-25 13:18:10 · 2000 阅读 · 0 评论 -
腾讯笔试04-24 题目一
后台Java开发岗位,实习机试。5道题一共,一题20分,满分100分。第一题:牛牛有n个长度相等由数字组成的字符串,牛牛将他们一行一行排列在一起。牛牛喜欢从上到下读数,可以将n个字符串读出了一些数字字符串。牛牛想帮这些数字字符串记录下来,并将他们进行排序。希望你能帮牛牛将从小到大排序后的数字字符串输出出来,输出的这个数字字符串要去掉前导0。输入描述:第一行为n,表示有n个字符串。接下来有n行,每行有一个字符串str。1<=n<=91<=str.length原创 2022-04-25 12:29:14 · 1734 阅读 · 0 评论 -
Python OJ输入输出
1.OJ环境,以Python3为例if __name__ == "__main__": inputStr=input() print(inputStr)输入12 23 45输出12 23 45即input()相当于读取一行内容,并且类型为string类型。注意需要将str转为你需要的类型2.Python3常用的,字符串转为数字,存到list中if __name__ == "__main__": inputStr=input()原创 2022-04-24 22:23:03 · 2319 阅读 · 0 评论 -
十大排序算法(part2-Java实现)
5.希尔排序思想:希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序的本质是插入排序,同时它也称为缩小增量排序。将记录的下标按照一定的增量dk进行分组,对于每一组的记录我们使用直接插入排序算法。而增量dk的选择初始值一半设置为数组长度的一半,序列{dk,dk/2,dk/4...1},称之为增量序列。代码实现如下:public class Test5 {...原创 2020-04-03 23:39:33 · 1198 阅读 · 0 评论 -
十大排序算法(part1-Java实现)
注:这里所有的排序均为从小到大排序。算法的稳定性:假设在数列中存在a[i]=a[j],若在排序之前,a[i]在a[j]前面;并且排序之后,a[i]仍然在a[j]前面。则这个排序算法是稳定的。1.直接插入排序思想:加入前n-1个数字已经是有序的,现在讲第n个数字插入其中,并且保持整个序列是有序的。假设前n-1个数组已经在数组a中,代码实现如下:public class Test...原创 2020-03-31 21:01:59 · 277 阅读 · 0 评论 -
Java OJ输入
java.util.Scanner是Java5的新特性,我们可以通过Scanner类很容易获取到用户的输入1.通过next()方法或者nextLine()方法可以获取输入的字符串。这里以nextLine()方法为例:import java.util.Scanner;public class Test1 { public static void main(String[] ...原创 2020-03-23 13:56:44 · 693 阅读 · 0 评论 -
Java Arrays.Sort方法重写
当原始的java sort方法无法满足我们的需求时候,我们需要自定义一些排序方法,此时需要重写Array.sort方法重写。模板代码如下,默认是从小到大排序的,如果想从大到小,把a-b换为b-a即可。//templateArrays.sort(T[], new Comparator<T>() { public int compare(T a, T b){ return a - b; }});示例代码如下,我的排序数组numStringArray类原创 2022-03-01 11:02:00 · 4320 阅读 · 0 评论 -
贝叶斯优化代码
首先,我们安装贝叶斯优化的包。贝叶斯优化的包只支持python3.x版本(注意!),python2.x版本虽然也能安装成功,但是会报错,贼傻逼。安装命令,使用pip3.pip3 install bayesian-optimization后面的使用教程有时间再更新。...原创 2021-05-11 14:55:29 · 1599 阅读 · 6 评论 -
遗传算法代码
全局搜索最优算法(1)——遗传算法这里以github上的遗传算法开源库为例子:首先我们安装GA(官方说依赖库好像只支持Python 3,但是我好像python2也安装成功了。。。)pip3 install pygad在这里我们讨论一个简单的全局优化过程,讨论(x−2)2+(y−4)2(x-2)^2+(y-4)^2(x−2)2+(y−4)2在x⊂(1,5),y⊂(6,9)x\subset(1,5),y\subset(6,9)x⊂(1,5),y⊂(6,9)的最大值。源码如下:import nump原创 2020-09-07 16:48:10 · 4580 阅读 · 6 评论