随笔分类 -  数据结构与算法

上一页 1 ··· 4 5 6 7 8 9 10 下一页

0707-leetcode算法实现之设计链表-design-linked-list-python&golang实现
摘要:设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在链表类中实现 阅读全文

posted @ 2021-10-29 23:21 进击的davis 阅读(70) 评论(0) 推荐(0)

0059-leetcode算法实现之螺旋矩阵II-spiralMatrixII-python&golang实现
摘要:给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 示例 2: 输入:n = 1 输出:[[1]] 提示: 1 ⇐ n ⇐ 20 通 阅读全文

posted @ 2021-10-29 07:57 进击的davis 阅读(102) 评论(0) 推荐(0)

0054-leetcode算法实现之螺旋矩阵-spiralMatrix-python&golang实现
摘要:给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入:matrix = [[1,2,3,4],[5,6, 阅读全文

posted @ 2021-10-28 22:01 进击的davis 阅读(107) 评论(0) 推荐(0)

0018-leetcode算法实现之四数之和-4sum-python&golang实现
摘要:给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 ⇐ a, b, c, d < n a、b、c 阅读全文

posted @ 2021-10-28 08:33 进击的davis 阅读(71) 评论(0) 推荐(0)

0015-leetcode算法实现之三数之和-3sum-python&golang实现
摘要:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 1: 输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2] 阅读全文

posted @ 2021-10-27 23:19 进击的davis 阅读(97) 评论(0) 推荐(0)

0005-剑指offer-替换空格-python&golang实现
摘要:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: 0 ⇐ s 的长度 ⇐ 10000 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/pr 阅读全文

posted @ 2021-10-27 08:33 进击的davis 阅读(55) 评论(0) 推荐(0)

0058-leetcode算法实现之左翻转字符串-reverseLeftString-python%golang实现
摘要:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 1: 输入: s = "abcdefg", k = 2 输出: "cdefgab" 示例 阅读全文

posted @ 2021-10-27 08:02 进击的davis 阅读(44) 评论(0) 推荐(0)

0151-leetcode算法实现之翻转字符串里的单词-reverse-words-in-a-string-python&golang实现
摘要:给你一个字符串 s ,逐个翻转字符串中的所有 单词 。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。 说明: 输入字符串 s 可以在前面、后面或者单词间包含多余的空格。 翻转后单词间应当仅用一个空格分 阅读全文

posted @ 2021-10-26 07:50 进击的davis 阅读(150) 评论(0) 推荐(0)

0541-leetcode算法实现之反转字符串II-reverseStrII-python&golang实现
摘要:给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 示例 1: 输入:s = "abcdefg 阅读全文

posted @ 2021-10-25 22:02 进击的davis 阅读(37) 评论(0) 推荐(0)

0344-leetcode算法实现之反转字符串-reverse-string-python&golang实现
摘要:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入:s = ["h","e","l","l","o"] 输出:["o","l","l","e","h" 阅读全文

posted @ 2021-10-22 08:27 进击的davis 阅读(59) 评论(0) 推荐(0)

0076-leeycode算法实现之最小覆盖子串-minimum-window-substring-python&golang实现
摘要:给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。 如果 s 中存在这样的子串,我们保证它是唯一的答案。 示 阅读全文

posted @ 2021-10-17 21:24 进击的davis 阅读(63) 评论(0) 推荐(0)

0904-leetcode算法实现之水果成篮-fruit-into-baskets-python&golang实现
摘要:在一排树中,第 i 棵树产生 tree[i] 型的水果。 你可以从你选择的任何树开始,然后重复执行以下步骤: 把这棵树上的水果放进你的篮子里。如果你做不到,就停下来。 移动到当前树右侧的下一棵树。如果右边没有树,就停下来。 请注意,在选择一颗树后,你没有任何选择:你必须执行步骤 1,然后执行步骤 2 阅读全文

posted @ 2021-10-16 22:55 进击的davis 阅读(185) 评论(0) 推荐(0)

0209-leetcode算法实现之长度最小子数组-minimum-size-subarray-sum-python&golang实现
摘要:给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入:target = 阅读全文

posted @ 2021-10-16 07:58 进击的davis 阅读(83) 评论(0) 推荐(0)

0977-leetcode算法实现之有序数组的平方sqaure-of-a-sorted-array-python&golang实现
摘要:给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序后,数组变为 [0,1,9, 阅读全文

posted @ 2021-10-15 08:07 进击的davis 阅读(77) 评论(0) 推荐(0)

0844-leetcode算法实现之比较含退格的字符串-backspace-string-compare-python&golang实现
摘要:给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,请你判断二者是否相等。# 代表退格字符。 如果相等,返回 true ;否则,返回 false 。 注意:如果对空文本输入退格字符,文本继续为空。 示例 1: 输入:s = "ab#c", t = "ad#c" 输出:true 解释: 阅读全文

posted @ 2021-10-14 22:41 进击的davis 阅读(72) 评论(0) 推荐(0)

0283-leetcode算法实现之移动零-move-zeroes-python&golang实现
摘要:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 来源:力扣(LeetCode) 链接:https://le 阅读全文

posted @ 2021-10-14 21:44 进击的davis 阅读(60) 评论(0) 推荐(0)

0367-leetcode算法实现之有效完全平方根-valid-perfect-square-python&golang实现
摘要:给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。 进阶:不要 使用任何内置的库函数,如 sqrt 。 示例 1: 输入:num = 16 输出:true 示例 2: 输入:num = 14 输出:false 提示: 1 ⇐ num 阅读全文

posted @ 2021-10-14 11:16 进击的davis 阅读(49) 评论(0) 推荐(0)

0069-leetcode算法实现之x的算术平方根-sqrtx-python&golang实现
摘要:给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1: 输入:x = 4 输出:2 示例 2: 输入:x = 8 输出 阅读全文

posted @ 2021-10-14 10:58 进击的davis 阅读(226) 评论(0) 推荐(0)

0035-leetcode算法实现之搜索插入顺序-search-insert-position-python&golang实现
摘要:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2 示例 2: 输入: nums = [ 阅读全文

posted @ 2021-10-14 08:30 进击的davis 阅读(41) 评论(0) 推荐(0)

0034-leetcode算法实现之查找元素位置-find-first-and-last-position-of-element-in-sorted-array-python&golang实现
摘要:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例 1: 输入:nums = [5,7, 阅读全文

posted @ 2021-10-13 22:51 进击的davis 阅读(57) 评论(0) 推荐(0)

上一页 1 ··· 4 5 6 7 8 9 10 下一页

导航