![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法(Java版)
Bonnie i
这个作者很懒,什么都没留下…
展开
-
LeetCode题解 01.两数之和
题目描述:两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 暴力法: 时间复杂度:O(n^2) class Solution { public int[] twoSum(原创 2020-06-09 20:36:51 · 212 阅读 · 0 评论 -
合并两个有序链表(递归法、迭代法)
题目描述: 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 方法一:迭代法 比较两个链表的头结点,将较小的节点作为合并后的新链表的头结点 初始状态: ...原创 2020-04-19 11:18:20 · 1406 阅读 · 0 评论 -
冒泡排序的优化(Java实现)
一、什么是冒泡排序? 1.冒泡排序 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。 2.算法时间复杂度 最好时间复杂度:O(n) 最坏时间复杂度 O(n^2) 平均时间复杂度:O(n^2) 3.算法稳定性 冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换...原创 2019-11-22 15:34:06 · 237 阅读 · 0 评论