
Java
Java技术学习
紫金战士
思考,沉淀。
展开
-
数据结构与算法学习刷题 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题目参考链接:https://leetcode-cn.com/problems/two-sumPython实现(优化:字典)def tw原创 2020-05-30 22:38:28 · 251 阅读 · 0 评论 -
数据结构与算法学习刷题 寻找数组的中心索引
给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入: nums = [1, 7, 3, 6, 5, 6]输出: 3解释: 索引3 (nums[3] = 6) 的左侧数之和(1 + 7 + 3 = 11),与右侧数之和(5 + 6 = 11)相等。同时, 3原创 2020-05-30 22:22:56 · 205 阅读 · 0 评论 -
数据结构与算法学习刷题 数组中根据索引插入值
数组中根据给定索引插入值,给定索引之后的元素都需要后移一位。两种情况,需要考虑:1、给定索引为负数,将其放在首位。2、给定索引超出数组长度,将其放在末位。Python实现python支持负索引和值为None的元素,情况复杂一点.,代码如下。class Array(object): def __init__(self, lst): self.size = len(lst) self.lst = lst def insert(self, index,原创 2020-05-29 22:02:22 · 364 阅读 · 0 评论 -
数据结构与算法学习刷题 冒泡排序
几天前加入算法刷题知识星球,开始数据结构与算法之旅,在优快云上记录一下每天的刷题过程基本思想:比较相邻两个数的大小,较大的数下沉,较小的数冒起来。算法过程:1、比较相邻两个数的大小,如果前者大于后者,则两数位置交换,否则,继续依次找下一对相邻的两个数进行比较。注意:这里每次比较的是相邻的两个数,不是某一个数与其他数比较。2、第一轮遍历是第一个数与第二个数比较、交换,然后是第二个数与第三个数比较、交换,直到倒数第二个数与最后一个数进行完比较、交换后,第一轮遍历就结束了,最大的数已经交换到了序列的最原创 2020-05-29 15:43:16 · 341 阅读 · 0 评论 -
数据结构与算法学习刷题 选择排序
选择排序(Selection Sort):从小到大排序算法思想:在未排序的序列中,找到最小的元素将其交换到已排序序列的首位,然后再从未排序序列中,找到最小的元素将其交换到已排序序列的末尾。以此类推,直到所有元素都已排序完毕。算法过程:1、第一轮遍历,在未排序的序列中,依次遍历所有元素,选出最小值,将其与未排序序列的第一个元素进行交换。2、第二轮遍历未排序序列,选出最小值,将其与未排序序列的第一个元素进行交换。3、进行n-1轮遍历,即可排序完毕。动图演示Python实现def selecti原创 2020-05-29 17:19:17 · 349 阅读 · 0 评论