ICode9

精准搜索请尝试: 精确搜索
  • 算法---LeetCode 235. 二叉搜索树的最近公共祖先(同剑指offer 68-1)2021-05-30 15:04:26

    1. 题目 原题链接 剑指offer 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大( 一个节点也可以是它自己的祖先)。” 例如,给

  • 面试题 02.01. 移除重复节点2021-05-23 22:33:29

    hash(O(n)) /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode removeDuplicateNodes(ListNode head) { int[] h

  • 【代码笔记】测量模型推理时间2021-05-23 19:58:16

    参考:深度神经网络推理时间的正确测量方法 starter, ender = torch.cuda.Event(enable_timing=True), torch.cuda.Event(enable_timing=True) t = [] for i in enumerate(dataset): timings = [] with torch.no_grad(): starter.record() out = mod

  • LeetCode刷题日记之反转链表2021-05-23 13:02:07

    今天来看一道简单但是比较常考的题,题的解法是很简单的,递归代码的话硬背都能记住,但真的把代码逻辑理清的人不是很多。我希望你看完看完这篇文章之后能把递归和迭代的思路整个理清楚,代码为什么会那么写,从而摆脱背的困境。 先看下题: 给你单链表的头节点 head ,请你反转链表,并返

  • 队列和符号表要怎么实现?2021-05-22 22:30:16

    1 队列 概述 队列是一种先进先出的数据结构,在一端进行插入,另一端进行删除的特殊线性表,按照先进先出的的与原则进行数据存取,最先进入的数据,最先被读取。 队列的实现 public class Queue<T> implements Iterable { private int size; private Node<T> head; pri

  • 单链表算法2021-05-21 21:33:30

    文章目录 单链表反转链表中环的检测两个有序的链表合并删除链表倒数第 n 个结点求链表的中间结点 单链表反转 public class Test { // 单链表遍历 public static void ergodic(Node curr){ while(curr != null){ System.out.print(curr.item

  • 人口最多的年份2021-05-20 09:05:48

    class Solution: def maximumPopulation(self, logs: List[List[int]]) -> int: delta = [0] * 101 # 变化量 offset = 1950 # 起始年份与起始下标之差 for b, d in logs: delta[b-offset] += 1 delta[d-offset] -= 1

  • 104. Maximum Depth of Binary Tree [Easy]2021-05-13 00:00:55

    明显的dfs,可以用递归、栈做 递归自底向上计数节点个数的思路值得记住,不需要传额外的参数,利用返回值即可,也就不需要helper函数了 /** * 自己的代码1 * 递归做dfs * Runtime: 0 ms, faster than 100.00% * Memory Usage: 39.1 MB, less than 32.27% */ class Solution {

  • 206. 反转链表2021-05-09 22:05:13

      给你单链表的头节点head,请你反转链表,并返回反转后的链表。   示例 1: graph LR 1-->2 graph LR 2-->1 输入:head = [1,2] 输出:[2,1]   示例 2: 输入:head = [] 输出:[] 题解   第一步审题,题意很简单就是将一个链表进行反转。   第二步列出所有解,直接遍历链表然后

  • Redis在游戏开发中的典型应用2021-05-07 20:57:33

    1.摘要Redis作为目前最流行的键值对存储数据库,有着丰富的数据结构支持,在民生、金融、游戏、直播等诸多领域都有广泛的应用,大大提升了开发者的开发效率。今天我们主要介绍Redis在游戏开发中的几个典型应用场景:用户数据缓存、持久化功能的消息队列、乐观锁功能。2.典型应用场景2.1 Re

  • [CF1498D] Bananas in a Microwave2021-05-04 12:04:58

    前言 你所能够依靠的,只有你自己。 题目 CF 洛谷 题目大意: 输入两个整数 \(n,m\) 表示操作数与目标香蕉数量。 接下来输入 \(n\) 个操作,每个操作有三个整数 \(t_i,x_i,y_i\)。令你当前的香蕉数量为 \(k\)。 如果 \(t_i=1\),你可以从 \([0,y_i]\) 中选择一个数 \(a_i\) ,将 \(\lceil

  • 【leetcode】7. 整数反转(reverse-integer)(模拟)[简单]2021-05-03 17:34:07

    链接 https://leetcode-cn.com/problems/reverse-integer/ 耗时 解题:16 min 题解:9 min 题意 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有

  • 九章算法 | Hulu面试题:字典序的第K小数字2021-04-29 11:02:49

    描述 给定整数n和k,找到按字典序排序的第k个最小整数,范围从1到n。 1 ≤ k ≤ n ≤ 1e9. 在线评测地址 样例1 输入:200,18 输出:114 解释:1,10,100,101,102,103,104,105,106,107,108,109,11,110,111,112,113,114,第十八个是114。 样例2 输入:13,2 输出:10 解释:按字典序排列顺序为 [1

  • vue element 表单 使用自定义合计方法 summary-method2021-04-28 15:35:46

    判断不同的id 可进行不同的操作,这边按自己的需求来 getSummaries(param) { const { columns, data } = param const sums = [] columns.forEach((column, index) => { if (index === 0) { // 只找第一列放合计 sums[index] = '合计:' return } if (column.pr

  • [白话解析]用水浒传为例学习最大熵马尔科夫模型2021-04-26 11:52:22

    本文将尽量使用易懂的方式,尽可能不涉及数学公式,而是从整体的思路上来看,运用感性直觉的思考来解释最大熵马尔可夫模型。并且从名著中找了个具体应用场景来帮助大家深入这个概念。[白话解析]用水浒传为例学习最大熵马尔科夫模型0x00 摘要本文将尽量使用易懂的方式,尽可能不涉及数学公

  • LeetCode206-翻转链表问题,多解法求解2021-04-23 08:32:31

      本题是关于链表的翻转问题,要求将单链表翻转并返回新的头结点。有下面两种解法。   1.解法一:单纯的通过迭代更换节点指针,不断向后迭代。代码如下: public ListNode reverseList(ListNode head) { ListNode pre=null; ListNode curr=head; whil

  • 平衡树之红黑树思想及实现2021-04-16 23:34:12

    平衡树之红黑树思想及实现 前言 之前我们学习过二叉查找树,发现它的查询效率比单纯的链表和数组的查询效率要高很多,大部分情况下,确实是这样的,但不幸的是,在最坏情况下,二叉查找树的性能还是很糟糕。 例如我们依次往二叉查找树中插入9,8,7,6,5,4,3,2,1这9个数据,那么最终构造出来

  • 【python】Leetcode每日一题-二叉搜索树节点最小距离2021-04-13 14:01:28

    【python】Leetcode每日一题-二叉搜索树节点最小距离 【题目描述】 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 示例1: 输入:root = [4,2,6,1,3] 输出:1 示例2: 输入:root = [1,0,48,null,null,12,49] 输出:1 提示: 树中节点数目在范围 [2, 100]

  • 旋转链表2021-04-10 16:04:03

    /** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func rotateRight(head *ListNode, k int) *ListNode { if head==nil || head.Next==nil || k==0{ return head } var length = 1

  • 反转单链表基于Go2021-04-07 13:32:24

    给定一个单链表: 1->2->3->4->5, 反转后输出为: 5->4->3->2->1 PrintNodeList输出头节点及后续节点 ReverseNodeList1是迭代的方式 ReverseNodeList2是递归的方式 package main import ( "fmt" ) type Node struct{ Value int Next *Node } func PrintNodeList(head *N

  • JS数组去重的3种方式2021-04-05 22:04:12

    1. 通过ES6新增数据类型Set的特性 Array.prototype.unique = function() { return [...new Set(this)]; }; 2. 通过for循环+indexOf过滤,并用新开辟的存储空间保存合适的数组元素 Array.prototype.unique = function() { const result = []; for (let i = 0, len = this.l

  • 题目:206. 反转链表2021-04-05 11:03:34

    题目:206. 反转链表 反转一个单链表。 方式一(迭代) public ListNode reverseList(ListNode head) { if (head == null || head.next == null) { return head; } ListNode curr = head; ListNode prev = null; while (curr !=

  • LC 234. 回文链表2021-04-05 09:01:28

    请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? class Solution { //反转链表 public ListNode reverseList(ListNode head){ ListNode cur

  • CUDA学习笔记(三)——共享内存2021-03-30 17:01:13

    在cuda设备端的内存包括,全局内存(global memory),共享内存(shared memory),纹理内存(texture memory),常量内存(constant memory)等。 在我是小将的博文中,详细画出了内存的分布情况,很清晰,一目了然。 全局内存,每个block中的thread都可以访问,可以用来存储和host端交互数据。 这里

  • leetcode——对链表进行插入排序2021-03-28 11:33:58

    思路: 1.如果链表为空,则返回其本身; 2.如果链表不为空,初始化排序表最后指针lastsorted为head,当前需排序的指针curr为head->next; 3.为了方便将元素插入到head之前,设立Head_front指针,值设为0,指向head; 4.初始化完成后,对排好序的表利用指针prev进行遍历查找,找到适合插入的位置;

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有