码迷,mamicode.com
首页 >  
搜索关键字:两个指针    ( 1059个结果
21-合并两个有序链表
思路:很简单,两个指针cur1,cur2分别指向l1,l2,当cur1,cur2都不空时,比较两个指针指向的节点的数值,把小的那个接到结果res上,之后这个cur1/cur2后移 当这个循环结束后,有可能剩下一个没被遍历到的链表(因为两个链表长度可能不一样),所有再写俩循环就行。 class Sol ...
分类:其他好文   时间:2020-04-28 10:02:36    阅读次数:53
LeetCode11. Container With Most Water
1. 题目链接 "传送门" 2. 题意 给出n个数a1, a2... an, 分别表示坐标i处的木板高度, 现要求选择两个木板, 使得乘的水的面积最大. 3. 解题思路 枚举, 建立两个指针指向数组左右两端, 很显然, 对于两个指针指向的两个木板中较短的那一个来说, 如果选择了这块木板, 他能容纳最 ...
分类:其他好文   时间:2020-04-28 00:15:51    阅读次数:64
《剑指offer》java实现(二)21~30 更新中
25、二进制中1的个数 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) /* public class RandomListNode ...
分类:编程语言   时间:2020-04-22 10:14:57    阅读次数:56
Leetcode练习(Python):数组类:第54题:给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。
题目: 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 思路: 使用两个指针,然后控制好边界就可以了。 程序: class Solution: def spiralOrder(self, matrix: List[List[int]]) -> ...
分类:编程语言   时间:2020-04-20 13:50:27    阅读次数:202
笔试面试--数据结构
链表 1. 找一个链表中倒数第k个结点(假设原链表肯定有多余k个结点) 假设整个链表有x个结点,用两个指针即可找到倒数第k个,示意图如下: 先用一个指针a遍历到第k个 ;然后a、b指针同时开始往后,直到指针a结束,则b在这段时间里走过了x-k个结点,也就是倒数第k个结点 typedef struct ...
分类:其他好文   时间:2020-04-19 17:41:42    阅读次数:81
【剑指offer】【双指针】 57-II.和为s的连续正数序列
双指针 [l,r]的区间和:s = (l + r) (r l + 1) / 2 通过利用l和r两个指针,初始l=1,r=2; 如果s == target,将[l,r]的数组添加到结果res中,l++; 如果s target, l++; 时间复杂度O(n),空间复杂度O(1) ...
分类:其他好文   时间:2020-04-19 13:12:15    阅读次数:56
LeetCode每周记录-5
将两串链表合并成一串(保持有序)。题目很简单,思路是用两个指针分别遍历两串链表,同时比较节点值,取小的那一边并将指针向右移动。代码: # Definition for singly-linked list. # class ListNode(object): # def __init__(self, ...
分类:其他好文   时间:2020-04-18 21:23:24    阅读次数:84
Leetcode练习(Python):数组类:第31题:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。
题目:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 思路:两个指针,一个向前,一个向后 程序: class Solution: def nextP ...
分类:编程语言   时间:2020-04-18 13:47:51    阅读次数:112
快速排序
快速排序 快速排序 将列表中第一个元素设定为基准数字,赋值给mid变量,然后将整个列表中比基准小的数值放在基准的左侧,比基准大的数字放到基准的右侧,然后将基准数字左右两侧的序列在根据此方法进行排放。 定义两个指针,low指向最左侧,high指向最右侧 然后对最右侧指针进行向左移动,移动规则是:如果指 ...
分类:编程语言   时间:2020-04-12 20:39:32    阅读次数:68
复杂链表的复制
剑指offer25复制链表的复制 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。 (注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 先说明白什么是复杂链表: 就是A结点中有一个结点 ...
分类:其他好文   时间:2020-04-04 11:54:40    阅读次数:54
1059条   上一页 1 ... 6 7 8 9 10 ... 106 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!