- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 leetcode-1551、使数组中所有元素相等的最小操作数
题目描述:存在一个长度为 n 的数组 arr ,其中 arr[i] = (2 * i) + 1 ( 0 <= i < n )。一次操作中,你可以选出两个下标,记作 x 和 y ( 0 <= x, y < n )并使 arr[x] 减去 1 、arr[y] 加上 1 (即 arr[x] -=1 且 arr[y] += 1 )。最终的目标是使数组中的所有元素都 相等 。题目测试用例将会 保证 :在执行若干步操作后,数组中的所有元素最终可以全部相等。给你一个整数 n,即数组的长度。请你返回
2021-11-16 21:12:06
137
原创 56、重塑矩阵
在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。给你一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。如果具有给定参数的 reshape 操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:输入:mat = [[1,2],[3,4]], r =
2021-10-28 19:20:48
95
原创 121、买卖股票的最佳时机
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1
2021-10-27 23:05:15
53
原创 88-合并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例 1:输入:nums1 = [1,2,3,0,
2021-10-19 21:35:51
44
原创 1、两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target = 6
2021-10-19 20:14:22
65
原创 53-最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1题解:动态规划。因为dp[i]只与dp[i-1]有关。int[] dp = new int[num
2021-10-18 22:59:20
48
原创 数据结构-leetcode-存在重复元素
给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true题解:方法一:暴力解决for(int i=0;i<nums.length;i++){ for(int j=i+1;j<nu
2021-10-18 22:06:08
77
原创 数据结构与算法分析---栈、队列、表
- 栈1.1 定义栈是限制插入和删除只能在一个位置上进行的表,允许操作的一段成为栈顶(top)另一端则称之为栈底,对栈的基本操作有进栈(push)出栈(pop),遵循后进先出(LIFO)原则。1.2 实现由于栈是一个受限的表,因此任何方法都能实现栈,一:使用指针,二:使用数组。指针实现使用单链表,通过在表前端插入来实现push,通过删除表前端来实现pop。栈结构体struct Node{ElementType Element;ProToNode Next;}*创建一个空
2020-05-30 15:39:29
586
翻译 词典分词
中文分词:将一段文本拆分为一系列单词的过程。中文分词分为基于词典规则与基于机器学习这两大派别。在基于词典的中文分词中,词典中的字符串就是词。HanLP中的词典格式是一种以空格分隔的表格形式,易地裂是单词本身,之后两列分别是词性和相应的词频。词典的加载...
2020-05-21 14:29:09
1611
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人