算法题
文章平均质量分 52
分享平时做的一些题
赚钱去流浪
这个作者很懒,什么都没留下…
展开
-
排序算法——归并排序
归并排序的整体思路就是分而治之,将待排序列分为两部分,分别排序,采用递归,直到不能再分割,那么简单地进行一个归并即可。将两个有序的数组合并成一个大的有序的数组,通过递归把待排序数组变成完全有序数组。让2个索引对应的值进行比较 谁对应的值小 把值小的放入tmp数组 然后当前索引++ 再循环比较。这样做必然会有一个数组索引先到头 再对另一个数组剩下的元素遍历放入tmp即可。首先创建一个临时数组tmp 以及2个索引分别指向2个数组的首。然后再把合并好的数组放会原数组对应的为止 就算完成此次合并。......原创 2022-08-30 09:40:30 · 193 阅读 · 0 评论 -
最少的交换 Java实现
现在给你一个由n个互不相同的整数组成的序列,现在要求你任意交换相邻的两个数字,使序列成为升序序列,请问最少的交换次数是多少?从题中看到关键点①相邻元素交换②排序(升序)求交换次数根据示例可以知道要对数组进行排序,可以用冒泡排序,但是冒泡排序O(n^2)时间超限制从这里可以看出,归并排序是最适合解该题的算法仔细分析该题,其实是求逆序对的个数...原创 2022-08-30 09:54:39 · 753 阅读 · 0 评论 -
牛客sql题第七题——group by和having
group by 可以根据表名进行分组统计,假设有如下表该题要求查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t先放答案,下面是我的思路,以及对having这个关键字的认识SELECT emp_no,COUNT(emp_no) t FROM salaries GROUP BY emp_no HAVING t > 15我们一步一步来看,首先需要将其按照emp_no来分组,看一看有多少人有薪水记录SELECT emp_no FROM salaries GROU.原创 2021-09-27 22:34:14 · 250 阅读 · 0 评论 -
牛客 SQL51 查找字符串 10,A,B 中逗号,出现的次数cnt
题目描述查找字符串'10,A,B' 中逗号','出现的次数cnt。题解思路:将逗号替换成空白,将两次的长度相减再除以每个逗号所占字符长度,即可得到次数所用到的知识点:统计字符串长度char_length1、返回值为字符串string或者对应字段长度,长度的单位为字符,一个多字节字符(例如,汉字)算作一个单字符;2、不管汉字还是数字或者是字母都算是一个字符;3、任何编码下,多字节字符都算是一个字符;所以一个逗号是一个字符,最后相减得到的结果就是逗号出现的次数参考原创 2021-11-23 10:19:27 · 804 阅读 · 0 评论 -
牛客sql第八题 SELECT DISTINCT
drop table if exists `salaries` ; CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`from_date`));INSERT INTO salaries VALUES(10001,72527,'...原创 2021-09-28 17:33:10 · 162 阅读 · 0 评论 -
力扣2114.句子中的最多单词数 Java
目录题目描述解题思路题目描述https://leetcode-cn.com/problems/maximum-number-of-words-found-in-sentences一个 句子 由一些 单词 以及它们之间的单个空格组成,句子的开头和结尾不会有多余空格。给你一个字符串数组 sentences ,其中 sentences[i] 表示单个 句子 。请你返回单个句子里 单词的最多数目 。示例1:输入:sentences = ["alice and bob ...原创 2021-12-30 16:13:15 · 194 阅读 · 0 评论 -
力扣 206.反转链表
问题描述给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head = [1,2]输出:[2,1]示例3:输入:head = []输出:[]解题思路/** * Definition for singly-linked list. * public class ListNode { * int val; *...原创 2021-12-11 23:44:38 · 725 阅读 · 0 评论 -
力扣 53.最大子数组和 Java
问题描述给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。示例2:输入:nums = [1]输出:1示例3:输入:nums = [5,4,-1,7,8]输出:23解题思路 public static int ...原创 2021-12-10 22:47:04 · 547 阅读 · 0 评论