- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 懒人算法设计之哈希表(对角线遍历)
给你一个列表 nums ,里面每一个元素都是一个整数列表。 请你依照下面各图的规则,按顺序返回 nums 中对角线上的整数。示例 1:输入:nums = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,4,2,7,5,3,8,6,9]示例 2:输入:nums = [[1,2,3,4,5],[6,7],[8],[9,10,11],[12,13,14,15,16]]...
2020-04-30 20:44:39 823
原创 解决闲人的简单JS别踩白块(简易版)小游戏啦!
别踩白块这个游戏相信很多人都在手机上玩过,今天我们就来做一个网页版的.制作要点:HTML/CSSJavaScript元素节点增删属性节点操作编程原理在开始编程之前,让我们先来分析下整个游戏的流程:一定的速度下移,点击黑块,黑块消失,新的黑块出现在普通游戏玩家眼中,应该是游戏开始,黑块不断向下移动,若黑块触底则游戏结束;而以开发者来说,应将每一个黑块和白块抽象成一个个的数据结构,...
2020-04-30 15:54:33 1204 1
原创 简单理解js闭包的概念,值得受益!
一、什么是闭包在维基百科中的闭包:词法闭包的简称。是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以有另一种说法认为闭包是有函数和与其相关的引用环境组合而成的实体。WTF?什么鬼?总体来说:闭包全局来讲一个函数可以访问它外部的成员,这个函数就可以称之为闭包函数。闭包是通过改变JS回收机制保留某段作用域的一种手段。当一个函数执行完毕后,里...
2020-04-29 12:12:35 378
原创 算法设计之滑窗算法(数组中可获得的最大点数)
几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。 每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。 你的点数就是你拿到手中的所有卡牌的点数之和。 给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。示例 1:输入:cardPoints = [1,2,3,4,5,6,1], k = 3输出:...
2020-04-29 10:05:30 861 1
原创 算法设计之扒一扒位运算(只出现一次的数字3)
一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]限制:2 <= nums &l...
2020-04-28 09:44:28 309
原创 算法设计之结构链表操作2(合并K个链表)
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出:1->1->2->3->4->4->5->6方法一:暴力解法思路:遍历所有链表,把结点放入一个动态数组, 对动态数组排序,然后再把动态数组转成链表javaclass ...
2020-04-26 10:24:51 197
原创 算法设计之扒回溯算法(全排列问题)
给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入:[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]废话不多说,直接上回溯算法框架。解决一个回溯问题,实际上就是一个决策树的遍历过程。你只需要思考 3 个问题:1、路径:也就是已经做出的选择。2、选择列表:也就是你当前可以做的选择。...
2020-04-25 09:47:10 1154
原创 算法设计之分治思想(求数组的逆序对)
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000首先最容易想到的是暴力解法。方法一:暴力解法(超时)使用两层 for 循环枚举所有的数对,逐一判断是否构成逆序关系。参考代码 1:java pri...
2020-04-24 11:07:43 2451 1
原创 算法设计之DP练习(组硬币问题)
硬币。给定数量不限的硬币,币值为25分、10分、5分和1分, 编写代码计算n分有几种表示法。 (结果可能会很大,你需要将结果模上1000000007)示例1:输入: n = 5输出:2解释: 有两种方式可以凑成总金额:5=55=1+1+1+1+1示例2:输入: n = 10输出:4解释: 有四种方式可以凑成总金额:10=1010=5+510=5+1+1+1+1+1...
2020-04-23 16:35:00 599
原创 算法设计之花式解(跳跃游戏)
首先看题给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎...
2020-04-17 15:09:45 413 1
原创 算法设计之广度优先与DP经典——01矩阵
给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。示例 1:输入:0 0 00 1 00 0 0输出:0 0 00 1 00 0 0示例 2:输入:0 0 00 1 01 1 1输出:0 0 00 1 01 2 1注意:给定矩阵的元素个数不超过 10000。给定矩阵中至少有一个元素是 0。...
2020-04-15 19:28:58 272
原创 算法设计之二分查找练习(一)——爱吃香蕉的可可
珂珂喜欢吃香蕉。这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 H 小时后回来。珂珂可以决定她吃香蕉的速度 K (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。珂珂喜欢慢慢吃,但仍然想在警卫回来前吃掉所有的香蕉。返回她可以在 H 小时内吃掉所有香蕉的最小...
2020-04-15 14:38:46 914
原创 JVM的初步学习,一篇文章足以
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以...
2020-04-13 19:22:18 127 1
原创 算法设计之简易模拟推特(数据结构的综合练习)
算法也是程序猿必不可少知识,今天练习练习数据结构,首先来看题:设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近十条推文。你的设计需要支持以下的几个功能:postTweet(userId, tweetId): 创建一条新的推文 getNewsFeed(userId):检索最近的十条推文。每个推文都必须是由此用户关注的...
2020-04-13 16:47:23 541
原创 UML笔记之类图
1.类与类之间关系在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)类与类之间的关系1.1泛化介绍:泛化(Generalization)表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实...
2020-04-09 10:20:24 202
axiostest.zip
2020-07-19
vuextest.zip
2020-07-19
learnvuerouter.zip
2020-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人