编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入: "hello"输出: "holle"示例 2: 输入: "leetcode"输出: "leotcede"说明:元音字母不包含字母"y"。 来源:力扣(LeetCode)链接:https://leetcode-cn.com ...
分类:
其他好文 时间:
2020-07-18 15:50:44
阅读次数:
71
题解:双指针 一个指针一次移动2步,一个指针一次移动一步。如果两个指针相遇证明存在环. /** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) ...
分类:
其他好文 时间:
2020-07-18 13:44:37
阅读次数:
47
题解:双指针 快指针一次两步,慢指针一次一步,当快指针走到结尾时候慢指针刚好到终点 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(in ...
分类:
其他好文 时间:
2020-07-18 11:27:15
阅读次数:
49
前缀和 可以利用前缀和解决用o(n)的时间复杂度求出一段序列的某一段区间的和。 一维前缀和 S[i] = a[1] + a[2] + ... a[i] a[l] + ... + a[r] = S[r] - S[l - 1] 例题 输入一个长度为n的整数序列。 接下来再输入m个询问,每个询问输入一对l ...
分类:
其他好文 时间:
2020-07-15 22:59:14
阅读次数:
47
题目描述: 给定两个数组,编写一个函数来计算它们的交集。 今日学习: 1.啊!美好的简单题! 题解: 1.暴力法,开始居然忘了indexOf 2.暴力法,利用indexOf一次循环 3.排序法,双指针移动 4.hash法,列出较短数组元素的出现次数,遍历较长数组去比较 /** * @param {n ...
分类:
编程语言 时间:
2020-07-13 11:23:35
阅读次数:
75
双指针算法 LeetCode 3. 无重复字符的最长子串 while()是非法的,在外更新答案 class Solution { public int lengthOfLongestSubstring(String s) { char[] c = s.toCharArray(); int n = c ...
分类:
编程语言 时间:
2020-07-12 22:13:42
阅读次数:
73
1、给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 算法思路:新数组: nums[0.......l] def removeElement(nums,val): #想象一个新数组nums[0....l],其索引从0...l。 l= ...
分类:
其他好文 时间:
2020-07-12 17:18:27
阅读次数:
71
题解 nums[i]为最左端的数,nums[L]为中间,nums[R]为最右端数, 最外层循环遍历最左端,nums[L]最初指向nuns[i+1],nums[R]最初指向nums[nums.length-1],根据sum变化不断移动 代码 class Solution { public static ...
分类:
编程语言 时间:
2020-07-12 16:33:54
阅读次数:
42
1、翻转数组中的元素:s = ['l', 'e', 'e', 't', 'c', 'o', 'd', 'e'] 算法思路:定义左指针 i=0, 右指针 r = len(s)-1。交换指针对应的元素,然后同时向中间移动指针,直到指针碰撞。在指针移动的同时,交换指针指代的元素。 def reverseS ...
分类:
其他好文 时间:
2020-07-09 23:59:40
阅读次数:
120
思路描述:采用双指针的思想,让head指针先行移动k个位置,然后head,h同步移动,当head指针移动到链表尾,h指针所指即为倒数第k个节点 LeetCode 代码如下: /** * Definition for singly-linked list. * struct ListNode { * ...
分类:
其他好文 时间:
2020-07-09 19:06:25
阅读次数:
53