- 博客(37)
- 资源 (3)
- 收藏
- 关注
原创 内存泄漏和内存溢出
内存泄漏和内存溢出的区别内存溢出 out of memory:是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory.内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满
2020-11-22 19:42:46
289
1
原创 JQuery-入门
jQuery是一个JavaScript函数库。jQuery是一个轻量级的"写的少,做的多"的JavaScript库。jQuery库包含以下功能:HTML 元素选取HTML 元素操作CSS 操作HTML 事件函数JavaScript 特效和动画HTML DOM 遍历和修改AJAXUtilitiesJQuery快速学习,仅为作为记录笔记方便使用。JQuery用于实际的网站中,已被精简和压缩。安装jQuery 库是一个 JavaScript 文件,您可以使用 HTML 的 <
2020-11-09 01:11:11
326
2
原创 JAVA线程池简单理解
两种线程模型a. 用户级线程(ULK)由应用本身管理,不依赖操作系统核心,不需要用户态/核心态切换那么什么是内核态,什么是用户态呢?只要想一想现实生活中,处于社会核心的人与处于社会边缘的人有什么区别就能明白处于核心的人拥有的资源多!因此,内核态就是拥有资源多的状态,或者说访问资源多的状态,我们也称之为特权态,速度块。相对来说,用户态就是非特权态,在此种状态下访问的资源将受到限制。b. 内核级线程(KLT)在JVM用的99%线程属于KLT,CPU管理,依赖操作系统两种权限,用户访问用户空间,内核
2020-11-08 19:31:55
279
1
原创 如何在页面上同时使用 jQuery 和其他框架?
noConflict() 方法jQuery 和其他 JavaScript 框架正如您已经了解到的,jQuery 使用 $ 符号作为 jQuery 的简写。如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办?其他一些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。其中某
2020-11-11 21:50:18
781
原创 12. GET 和 POST 方法
11.1 get方法GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。GET 请求可被缓存GET 请求保留在浏览器历史记录中GET 请求可被收藏为书签GET 请求不应在处理敏感数据时使用GET 请求有长度限制GET 请求只应当用于取回数据用法:$.get(URL,callback);$("button").click(function(){ $.get("demo_test.php",function(data,status){
2020-11-11 21:47:32
367
原创 9 链(Chaining)和10 . ajax()方法
9 链(Chaining)可以把动作/方法链接在一起。Chaining 允许我们在一条语句中运行多个 jQuery 方法(在相同的元素上)。直到现在,我们都是一次写一条 jQuery 语句(一条接着另一条)。不过,有一种名为链接(chaining)的技术,允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条。$("#p1").css("color","red").slideUp(2000).slideDown(2000);$("#p1").css("color","red") .
2020-11-11 21:45:08
223
原创 8. 内置动画
8.1 hide() 隐藏$(selector*).hide(*speed,callback);可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素:<script>$(document).ready(function(){ $("p").click(function(){ $(this).hide(); });});</script>隐藏动作设置时间,$("button").click(function(){ $("p").
2020-11-11 21:29:09
237
原创 7. 事件处理
7.1 事件载入ready(function()); 加载完页面即进行$(document).ready(function(){ //body});//相当于$(function(){});7.2 给div添加监听7.2.1 点击监听方式一: click$('div').click(function(){ alert("监听");});方式二: on(events,[选择器],[data],fn) :可以选择多个监听事件$('div').on('click',functi
2020-11-11 21:28:16
201
原创 6. 文档操作
6.1 增加元素append():再后添加元素<script>var ul1=$("#ul1"); //根据id获得元素ul1.append("<span>append()添加的</span>");</script>appendTo():向元素指定位置添加元素<script>var ul1=$("#ul1"); //根据id获得元素 //ul1.append("<span>append()添加的</span&g
2020-11-11 21:26:31
149
原创 5. JQuery的属性
5.1 attr的使用attr(name|properties|key, value|function)概述:设置或返回被选元素的属性值.参数: name: 属性名称 properties:作为属性的"名/值对" 对象 key,value :属性名称,属性值 key,function(index,attr) :1.属性名称 2. 返回属性值的函数 index为:当前元素索引,attr为原值console.log($('div:first').attr('title'));
2020-11-11 21:24:29
176
原创 4. 简单的工具方法
$.each(): 遍历数组或对象中的数据<script type="text/javascript"> var arr=[2,3,4]; $.each(arr,function(idnex,item){ console.log(idnex,item); }); var obj={ name:'tom', setName: function(name){ this.name=name; } } //遍历对象 $.each(obj,function..
2020-11-11 21:22:56
348
原创 3 JQuery的选择器
3.1 基本选择器$("#id") //ID选择器$("div") //元素选择器 $("p") 所有 <p> 元素$(".classname") //class="classname" 的所有元素$(".classname,.classname1,#id1") //class 为 "classname" , "classname1" id为“#id1”的所有元素3.2 层次选择器$("div > p") //<
2020-11-11 21:18:19
166
原创 2. JQuery的核心对象和核心函数
2.1 核心对象在 JQuery 库中,可以通过本身自带的方法获取页面 DOM 元素的对象叫做 JQuery 对象。对象用 var 开头定义。1var tDiv = $(“#divTmp”) //使用JQ获取元素后,就是JQuery对象了使用jquery函数返回的也是jquery对象;但是外放的只有jquery对象和$对象.即执行Jquery核心函数返回的对象,jquery对象内部包含的是dom元素对象的方法的伪数组2.2 核心函数jquery向外直接暴露的就是jquery/,引入库后直接使用
2020-11-11 21:17:23
241
原创 笔记----网络中的多媒体
多媒体的基本概念指信息的物理载体(存储信息的表现实体)承载信息的载体(信息的表现形式)媒体的分类感觉媒体(直接作用于人体器官)表示媒体(数据交换的编码)表现媒体((输入)话筒,键盘,(输出)显示器,打印机)交换媒体(硬盘,电缆)多媒体的特征多样性 2. 集成性 3. 交互性 4. 非线性 5. 实时性 6. 信息使用的方便性7 . 信息结构的动态性虚拟现实的基本概念运用计算机的对现实进行全面仿真,创建于现实社会类似的环境,实现用户与该环境进行自然交互主要特征多感知,
2020-10-20 17:36:39
202
原创 动态规划--回文串问题
回文子串也就是对称的序列,相当与aba,acca,acbca,在处理回文子串问题时,不可避免要进行判断是否属于回文子串。判断方法使用二分判断:对与一个序列,取第一个和和最后一个判断是否相等,然后往中间递推,也就是常见的双指针写法,使用i,j从前和从后两个方法遍历,根据对比两个字符是否相同来判断是否属于回文子串。从两边往中间从中间往两边假设要求一段序列中的最长的回文字串,比如序列 dwpzadecedazpda 序列的最长回文序列则是pzadecedazp解决方法使用暴力解法fo
2020-10-13 15:51:44
500
原创 东哥教你几招常用的位运算技巧
几个有趣的位操作利用或操作 | 和空格将英文字符转换为小写('a' | ' ') = 'a'('A' | ' ') = 'a'利用与操作 & 和下划线将英文字符转换为大写('b' & '_') = 'B'('B' & '_') = 'B'利用异或操作 ^ 和空格进行英文字符大小写互换('d' ^ ' ') = 'D'('D' ^ ' ') = 'd'判断两个数是否异号int x = -1, y = 2;bool f = ((x ^ y)
2020-10-12 20:06:44
114
原创 动态规划基本步骤
第一步,确定问题状态动态规划问题求解需要先开一个数组,并确定数组的每个元素f[i]代表什么,就是确定这个问题的状态。类似于解数学题中,设定X,Y,Z代表什么。a.确定状态首先提取最优策略必定是K枚硬币a1, a2,…, aK 面值加起来是27。找出不影响最优策略的最后一个独立角色,这道问题中,那枚最后的硬币“aK”就是最后一步。把aK提取出来,硬币aK之前的所有硬币面值加总是27- aK因为总体求最硬币数量最小策略,所以拼出27- aK 的硬币数也一定最少转化子问题如果aK是2,f(27)
2020-10-05 16:19:51
3029
原创 动态规划--最小路径和等问题
62. 求出路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?1. 定义数组元素的 的含义使用一个数组来存取当前的路径,根据走动的方式来找到路径2. 找出关系数组间的关系对于机器人要想走到目标(i,j)点这个位置,机器人可以向下走或者向右走,一种是从(i-1,j)这个位置到达一种是从(i,j-1)这个位置到达.类似于之前的状
2020-09-15 23:54:57
305
原创 算法学习--动态规划
简单理解来自labuladong算法学习有一说一,看了他的文章确实对于算法有很好的学习理解首先,动态规划问题的一般形式就是求最值。动态规划其实是运筹学的一种最优化方法,只不过在计算机问题上应用比较多,比如说让你求最长递增子序列呀,最小编辑距离呀等等。既然是要求最值,核心问题是什么呢?求解动态规划的核心问题是穷举。因为要求最值,肯定要把所有可行的答案穷举出来,然后在其中找最值呗。动态规划问题一定会具备「最优子结构要符合「最优子结构」,子问题间必须互相独立才能通过子问题的最值得到原问题的最值。另外,
2020-09-11 17:02:45
196
原创 回溯算法--37.解数独
37. 解数独编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。空白格用 ‘.’ 表示。每个空格从 1 到 9 就是选择,全部试一遍就行了,学好算法全靠套路,认准 labuladong 就够了!// 对 board[i][j] 进行穷举尝试void backtrack(char[][] board, int i, int j)
2020-09-10 15:09:51
162
原创 1219. 黄金矿工--回溯算法
你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注。每个单元格中的整数就表示这一单元格中的黄金数量;如果该单元格是空的,那么就是 0。为了使收益最大化,矿工需要按以下规则来开采黄金:每当矿工进入一个单元,就会收集该单元格中的所有黄金。矿工每次可以从当前位置向上下左右四个方向走。每个单元格只能被开采(进入)一次。不得开采(进入)黄金数目为 0 的单元格。矿工可以从网格中 任意一个 有黄金的单元格出发或者是停止。public int
2020-09-08 19:00:53
330
原创 回溯算法题解
相关模板void function(){if(ture) ##退出回溯return;for 选择 in 选择列表: # 做选择 将该选择从选择列表移除 路径.add(选择) backtrack(路径, 选择列表) # 撤销选择 路径.remove(选择) }46. 全排列给定一个 没有重复 数字的序列,返回其所有可能的全排列。题解: //46.全排列 public List<List<Integer>&g
2020-09-07 18:26:18
184
原创 学习算法--回溯算法
回溯回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。便于解决树形问题的情况,比如选择子序列的问题,寻找路径等当出现重复情况或不满足条件的时候退出模板 public void backTrace(int start, int[] nums, List<Integer> temp){ base case 条件处理 /
2020-09-05 16:39:42
240
原创 994. 腐烂的橘子广度优先最傻解法
994. 腐烂的橘子在给定的网格中,每个单元格可以有以下三个值之一:值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。解法:这一题输入广度优先的经典题目,使用队列来进行判断,一开始先进行把坏橘子入队列,题目120之前的测试用例都只是一个坏橘子开头,后面120~330或多或少都是0至3个开始.在队列中进行判断,首先是上下左右进行感
2020-09-04 16:08:54
166
原创 1306. 跳跃游戏 III 使用搜索进行
1306. 跳跃游戏 III这里有一个非负整数数组 arr,你最开始位于该数组的起始下标 start 处。当你位于下标 i 处时,你可以跳到 i + arr[i] 或者 i - arr[i]。请你判断自己是否能够跳到对应元素值为 0 的 任一 下标处。注意,不管是什么情况下,你都无法跳到数组之外。这一题是跟着数组下标跳跃进行目标点,最终到达0点,根据规则 在每个点上可以跳到 i + arr[i] 或者 i - arr[i]。使用广搜进行判断,进入第一个节点,然后根据规则 i + arr[i] 或
2020-09-03 22:46:02
199
原创 广度优先搜索题记
101 对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3解题:本题在于判断左右节点的是否相等,判断子树是否相当.使用队列实现,每次出队或入队左右两个,进行两两比较.第一层时,节点的左节点和右节点比较第二
2020-09-03 11:35:13
125
原创 广度优先搜索
基本步骤:1.从图中某个顶点v0出发,首先访问v0;2.依次访问v0的各个未被访问的邻接点;3.依次从上述邻接点出发,访问它们的各个未被访问的邻接点。4.若此时图中仍有未被访问的结点,则另选图中的一个未被访问的顶点作为起始点。重复广度优先搜索过程,直到图中的所有节点均被访问过。基本代码结构通常用队列(先进先出,FIFO)实现 初始化队列Q. Q={起点s}; 标记s为己访问; while (Q非空) { 取Q队首元素u; u出队; if (u == 目标状态)
2020-09-01 15:24:40
289
原创 2019省赛真题详解
组队作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容。每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1 号位至 5 号位的评分之和最大可能是多少?这题手算即可,但是还是给出代码运算也行两种解决方法1.暴力破解法,直接嵌套5层for循环2.贪心算法,每次选择当前位最高的人,保存总和,三次for循环,以不同位置起手结果不同,所以首层遍历5次位置,二层选出其他号位号位的最高成绩,3层选出本号位最高的选手.不同的子串一个字符串的
2020-08-29 17:26:15
855
原创 比较大小406. 根据身高重建队列
406. 根据身高重建队列假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。输入:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]输出:[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]先比较总的身高大小,按照身高从大到小进行排序,因为k的值是按照前面是否有k个人高于或等于
2020-08-27 19:51:24
249
原创 贪心-881. 救生艇
第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。返回载到每一个人所需的最小船数。(保证每个人都能被船载)。输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)输入:people = [3,2,2,1], limit = 3输出:3解释:3 艘船分别载 (1, 2), (2) 和 (3)输入:people = [3,2,2,1], limit =
2020-08-26 23:40:38
210
原创 1403. 非递增顺序的最小子序列-贪心算法
内容给你一个数组 nums,请你从中抽取一个子序列,满足该子序列的元素之和 严格 大于未包含在该子序列中的各元素之和。如果存在多个解决方案,只需返回 长度最小 的子序列。如果仍然有多个解决方案,则返回 元素之和最大 的子序列。与子数组不同的地方在于,「数组的子序列」不强调元素在原数组中的连续性,也就是说,它可以通过从数组中分离一些(也可能不分离)元素得到。注意,题目数据保证满足所有约束条件的解决方案是 唯一 的。同时,返回的答案应当按 非递增顺序 排列。此题目是从子序列中抽取最大的数字,而不是从给
2020-08-25 19:16:40
296
原创 1217. 玩筹码
数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中。你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以):将第 i 个筹码向左或者右移动 2 个单位,代价为 0。将第 i 个筹码向左或者右移动 1 个单位,代价为 1。最开始的时候,同一位置上也可能放着两个或者更多的筹码。返回将所有筹码移动到同一位置(任意位置)上所需要的最小代价。输入:chips = [2,2,2,3,3]输出:2解释:第四和第五个筹码移动到位置二的代价都是 1, 所以最小总代价为 2。输
2020-08-25 18:20:01
181
原创 1046. 最后一块石头的重量
1046. 最后一块石头的重量有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。我的解决方案:暴力破解遍历排序,每次大小排序后,将倒数的两个数子相减,末
2020-08-25 16:17:08
116
原创 459. leetcode----重复的子字符串
重复的子字符串题目描述给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。输入: "aba"输出: False输入: "abcabcabcabc"输出: True解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "abcabc" 重复两次构成。) 我的解题思路假设是输入的是重复的字符串,按照题目提示
2020-08-24 17:13:49
183
转载 从零开始---贪心算法
学习目标:贪心算法来自知乎的视学算法链接: 知乎-贪心算法.掌握贪心算法,学习内容:提示:以后要学的内容例如:1、 贪心算法2、 分而治之算法(递归)3、 动态规划4、 暴力解法 内容:假设一个问题比较复杂,暂时找不到全局最优解,那么我们可以考虑把原问题拆分成几个小问题,分别求每个小问题的最优解,再叠加这些"全局最优解",就"当作"整个问题的最优解了贪心算法3步走第一步明确到底什么是最优解,明确后记录下来第二步明确什么是子问题的最优解?再记录再本子上第三步分别求
2020-08-23 18:47:09
7719
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅