算法
gaishi_hero
精通cop
展开
-
LeetCode探索模块初级算法链表章节python3代码实现
删除链表中的节点# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def deleteNode(self, node): ...原创 2018-08-30 21:38:40 · 261 阅读 · 0 评论 -
LeetCode 71. 简化路径 java (看得懂的详细解析)
题目:以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只...原创 2019-07-22 00:06:30 · 565 阅读 · 0 评论 -
面试题:LeetCode 239. 滑动窗口最大值 java
这是一道本人面试时遇到的算法题,在LeetCode中的原题,虽然被列为困难,其实并不难。题目:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] ...原创 2019-07-16 17:59:04 · 520 阅读 · 0 评论 -
leetcode 43. 字符串相乘 java (看得懂的详细解析)
题目:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。num1 和 num2 ...原创 2019-07-07 13:33:21 · 972 阅读 · 0 评论 -
LeetCode 216. 组合总和 III java (看得懂的详细解析)
题目:找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]解析:相比于前面两道用回...原创 2019-07-06 20:50:14 · 802 阅读 · 1 评论 -
面试题:查找先非严格递增后非严格递减的数组中的最大值 java
这是一道本人面试时手撕算法环节的真题。给定一个整数数组,这个数组中的数字有这样一个规律:前面部分非严格递增,后面部分非严格递减,写出找到其中最大值的算法。说明:所谓非严格递增是指arr[i]<=arr[i+1],相应的非严格递减是指arr[i]<=arr[i+1]。例如下面的这些例子:int[] arr1 = new int[]{1, 2, 3, 4, 5, 6, 7, 7, 5...原创 2019-07-15 23:32:01 · 1608 阅读 · 0 评论 -
leetcode 49. 字母异位词分组 java (看得懂的详细解析)
题目:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。解析:本题要求将所有的字...原创 2019-07-10 23:32:27 · 344 阅读 · 0 评论 -
leetcode 93. 复原IP地址 java(看得懂的详细解析)
题目:给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例:输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]这一题与上一篇文章leetcode131. 分割回文串题目如出一辙,所以大家可以参考两道题目来进行学习,加深对回溯算法的解题方法的印象。同样,大家跟着我的思路来进行理解,保证透彻。我们要将一个...原创 2019-06-29 16:31:23 · 1631 阅读 · 2 评论 -
leetcode131. 分割回文串 Java (看得懂的详细分解)
题目:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: "aab"输出:[ ["aa","b"], ["a","a","b"]]...原创 2019-06-29 11:04:22 · 1519 阅读 · 0 评论 -
LeetCode探索模块初级算法字符串章节python3代码实现
声明:本人刚刚入门,算法能力欠佳,所写算法不是最优算法,只提供使用python3的读者以参考。反转字符串class Solution: def reverseString(self, s): """ :type s: str :rtype: str """ return s[::-1]...原创 2018-08-30 15:26:01 · 170 阅读 · 0 评论 -
LeetCode探索模块初级算法数组章节python3代码实现
声明:本人刚刚入门,算法能力欠佳,所写算法不是最优算法,只提供使用python3的读者以参考。从排序数组中删除重复项class Solution: def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """ ...原创 2018-08-30 15:23:03 · 150 阅读 · 0 评论 -
leetcode 151. 翻转字符串里的单词 java (看得懂的详细解析)
题目:给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: "the sky is blue"输出: "blue is sky the"示例 2:输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: "a good example"输出: ...原创 2019-07-22 23:17:42 · 457 阅读 · 0 评论