
数据结构与算法(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 · 252 阅读 · 0 评论 -
合并两个有序链表(递归法、迭代法)
题目描述:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4方法一:迭代法比较两个链表的头结点,将较小的节点作为合并后的新链表的头结点 初始状态: ...原创 2020-04-19 11:18:20 · 2016 阅读 · 0 评论 -
冒泡排序的优化(Java实现)
一、什么是冒泡排序?1.冒泡排序这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。2.算法时间复杂度最好时间复杂度:O(n)最坏时间复杂度 O(n^2)平均时间复杂度:O(n^2)3.算法稳定性冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换...原创 2019-11-22 15:34:06 · 269 阅读 · 0 评论