自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学海无涯乐作舟

知之为知之,不知为不知

  • 博客(42)
  • 资源 (2)
  • 收藏
  • 关注

原创 LeetCode—用队列实现栈(单队列实现)

巧妙使用单队列实现栈

2020-05-31 11:15:00 160

原创 LeetCode—存在重复元素Ⅱ(HashSet和HashMap)

存在重复元素Ⅱ(简单)2020年5月30日题目来源:力扣解题存在重复元素的升级版,同样也是水题。使用HashSet可以节省空间,把整个集合控制在k个元素以内,相当于一个滑动窗口,如果下个元素在滑动窗口内有匹配的,那就是true。HashSetclass Solution { public boolean containsNearbyDuplicate(int[] nums, int k) { Set<Integer> set=new HashSet<

2020-05-30 11:53:53 213

原创 LeetCode—存在重复元素(HashSet和排序)

存在重复元素(简单)2020年5月31日题目来源:力扣解题这两种解法都很普通,就是一道水题。HashSetclass Solution { public boolean containsDuplicate(int[] nums) { Set<Integer> set=new HashSet<>(nums.length); for(int a:nums){ if(set.contains(a)) return

2020-05-30 11:12:31 172

原创 LeetCode—剑指Offer:反转链表(迭代法和递归法)

反转链表(简单)题目来源:力扣解题迭代法一开始如下,我们要做的就是把1指向null,保存原先cur的下一个位置t_cur,保证顺序不会乱把1指向null之后,cur和pre都往后移动。接着把2指向1直到整个链表反转,此时cur指向null,返回pre/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * List

2020-05-29 11:25:35 1436

原创 LeetCode—同构字符串(哈希表和第三方对比法)

同构字符串(简单)2020年5月28日题目来源:力扣解题哈希表因为s和t的长度一样,所以可以采用哈希表记录出现过的字符key与其配对的字符value,如果再出现key,判断value是否跟之前一样,不一样返回false;如果key是第一次出现,判断之前有没有key转化成这个value,有的话就返回false。class Solution { public boolean isIsomorphic(String s, String t) { Map<Characte

2020-05-28 11:48:20 220

原创 用Java实现C/S和B/S最基础的小例子
原力计划

文章目录C/S例子重点注意代码实现B/S例子重点注意代码实现C/S例子C/S模式称为客户端/服务器模式实例:客户端上传文件到服务器,服务器接收后保存到服务器硬盘上重点注意1.分清楚本地流和网络流,网络流都通过Socket获取,服务器通过获取客户端的Socket来获得网络流2.注意客户端在本地输入流获取图片时跳过了结束标志,导致发给服务器是没有结束标志的,用shutdownOutput()方法给服务器一个结束标志代码实现客户端package demo_NET;import java.i

2020-05-28 01:12:49 555

原创 LeetCode—计数质数(厄拉多塞筛法)

计数质数(简单)2020年5月27日题目来源:力扣解题质数写法的固化思维使人第一想法就写出下面的代码class Solution { public int countPrimes(int n) { int count=0; for(int i=1;i<n;i++){ if(ifPrimes(i)) count++; } return count; }

2020-05-27 09:32:06 247

原创 LeetCode—移除链表元素(虚假头节点)

移除链表元素(简单)2020年5月26日题目来源:力扣解题非常简单的一道题,需要注意的有以下四点:1.头节点是null的处理2.头节点是val的处理3.当链表中有多个连续的节点等于val时的处理4.节点走到null时不能再判断它的val值,否则会报空指针异常的错误。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; *

2020-05-26 10:08:16 185

原创 LeetCode—快乐数(快慢指针法)

快乐数(简单)2020年5月25日题目来源:力扣解题这道题关键是找到无限循环的终止点。可以用集合来记录出现过的数字,当出现了一个出现过的数字则说明进入循环,返回false;当出现1时,返回true。但这种做法时间复杂度和空间复杂度不确定性太大,如果有过多的数可能会导致栈溢出,不建议使用。用在LeetCode—环形链表中使用过的“快慢指针法”来判断循环,如果有循环,那么快指针和慢指针终究会相遇,相遇时判断快指针或慢指针的值是否为1,若为1返回true,不为1返回false。如果快指针优先走到了

2020-05-25 09:50:03 128

原创 LeetCode—打家劫舍

打家劫舍(简单)2020年5月24日题目来源:力扣解题动态规划(DP)动态规划方程:dp[n] = MAX( dp[n-1], dp[n-2] + num )思想是在当前位置 n 房屋可盗窃的最大值,要么就是 n-1 房屋可盗窃的最大值,要么就是 n-2 房屋可盗窃的最大值加上当前房屋的值,二者之间取最大值。状态转移方程怎么那么难想阿!class Solution { public int rob(int[] nums) { if(nums.length==0) r

2020-05-24 11:09:59 181

原创 LeetCode—旋转数组

旋转数组(简单)2020年5月23日题目来源:力扣解题本题要求原地算法(空间复杂度为O(1)),那就不能开辟其他空间了。最容易想的肯定是暴力法,每次移动一个末尾元素到最前面,循环k次,太无脑了PASS。环状替代法//记自己环状替代法思路失败的尝试class Solution { public void rotate(int[] nums, int k) { int len=nums.length,flag=0; for(int i=len-k;i&l

2020-05-23 11:53:42 93

原创 LeetCode—阶乘后的零

阶乘后的零(简单)2020年5月22日题目来源:力扣解题思路1.理解这个尾数的意义,是指末尾有几个连续的02.用阶乘后的结果取余求0的个数,结果会溢出,就算用BigInteger也不理想从题解学到的思路1.首先我们要判断末尾有0是什么意思,从因式分解来看,只有25会产生10(也就是0),那不管一个数是350还是250,只要乘10,末尾就会多了个0,10=25,那就可以看出这道题是可以通过因式分解判断有多少个10,进一步来看就是看有多少个2*5。2.那么我们要判断2和5的个数吗?答案是否定的

2020-05-22 10:21:11 124

原创 ASP.NET作业小例子
原力计划

文章目录一、表单例子实用代码代码二、日历代码三、listbox传值代码四、动态产生控件知识点代码一、表单例子请制作一个 aspx 页面,限定只能使用 asp 的标准控件与验证控件以及使用 C#Script 来完 成 Registration Form 的输入验证问题(注意: 不能使用 html tag 与 javascript)。若有错误,需以提醒使用者修改输入讯息,其规则如下图红字的部份(关于 Country 部份,请列举 五个国家即可)。实用代码内容居中,文字左对齐<div styl

2020-05-22 09:12:35 288

原创 JAVA关于多线程的理解和运用
原力计划

文章目录线程同步机制一、同步代码块二、同步方法三、Lock锁线程状态线程同步机制一、同步代码块同步代码块:synchronized可以用于方法钟的某个区块中,表示只对这个区块的资源实行互斥访问。synchronized(同步锁){ 需要同步操作的代码}同步锁:对象的同步锁只是一个概念,可以想象为在对象上标记了一个锁1.锁对象 可以是任意类型2.多个线程对象 要使用同一把锁注意:在任何时候,最多允许一个线程拥有同步锁,谁拿到锁就进入代码块,其他的线程只能在外等着(BLOCKED)。

2020-05-21 16:29:07 126

原创 LeetCode—Excel表列序号

Excel表列序号(简单)2020年5月21日题目来源:力扣解题这道题是Excel表列名称的反向写法,难度低了很多,不用考虑26进制到26自动进位的问题。没什么技巧,暴力破解。暴力法字符串转字符数组,从最后开始遍历转成数字,相加得结果class Solution { public static int titleToNumber(String s) { char []ss=s.toCharArray(); int count=0,muti=1;;

2020-05-21 10:48:47 126

原创 LeetCode—多数元素

多数元素(简单)2020年5月20日题目来源:力扣解题首先用比较熟悉的哈希表方法,记录个数还有出现次数最多的一个key值,最后输出这个key值。这种方法时间复杂度和空间复杂度都为O(n)。class Solution { public int majorityElement(int[] nums) { Map<Integer,Integer> m=new HashMap<>(); int len=nums.length/2,max

2020-05-20 12:13:04 142

原创 正则表达式看着很高大上,实则一小时学完

最近正则表达式用得很频繁,上网查有些又查不到,干脆学了自己写。作为哔哩哔哩大学在读生,在哔哩哔哩选课系统上选了一个不错的视频,艾玛真香,特此记录。内容来源:哔哩哔哩推荐网站:正则练习网址正则在线测试网站文章目录入门进阶分组断言入门补充:{}里面存放重复次数,可以写成重复区间{ ,}{0,}等价于*{1,}等价于+举例:\d{3,4}表示数字可以出现3次或4次,一般是贪婪模式即有4次选4次,如果某些情况想要选出现3次,可以写成\d{3,4}?改为非贪婪模式。进阶分组()是分

2020-05-20 02:03:50 199

原创 LeetCode—Excel表列名称

Excel表列名称(简单)2020年5月19日题目来源:力扣解题这道题,很明显就是利用字符数字的asall码来变成字符字母。按照进制转换的题目去做,那就是十进制转换成二十六进制,这里我用了StringBuilder来存字符串,有两种方法可以得出最后的结果,用insert()方法把每次得到的字符插到字符串最前面;或者按顺序放,最后用reverse()方法反转。做到这一步就有最后一个问题了,26对应的应该是Z,这里对26取余后是0,A+0-1并不能得到Z这个答案,所以当余数为0时,把余数改为26

2020-05-19 10:58:47 135

原创 LeetCode—两数之和Ⅱ-输入有序数组

两数之和Ⅱ-输入有序数组(简单)2020年5月18日题目来源:力扣解题一开始想用二分法做,后面改用双指针方法做,思路较为简单,比目标值大就大指针往左移,比目标值小就小指针往右移。class Solution { public int[] twoSum(int[] numbers, int target) { int id1=0,id2=numbers.length-1; while(id1<id2){ int sum=numb

2020-05-18 09:50:31 104

原创 LeetCode—相交链表

相交链表(简单)2020年5月17日题目来源:力扣解题今天无聊,再水一题。若相交,链表A: a+c, 链表B : b+c。a+c+b = b+c+a ,则会在公共处c起点相遇。若不相交,a +b = b+a ,因此相遇处是NULL突如其来的骚,闪断我的腰。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * Li

2020-05-17 11:54:36 106

原创 LeetCode—最小栈

最小栈(简单)2020年5月17日题目来源:力扣解题第一想法,what?要手动实现栈的功能吗?看题解才知道不是,可以直接用Stack,这道题的难点就在于获取当前栈内最小元素需要在常数时间内。官方提供了三种解题思路,个人偏爱于自定义Node方法——每次都记录当前值和当前最小值。这其实是“辅助栈”思路的plus写法,不用再定义多一个栈来存信息。class MinStack { private Stack<Node> st; /** initialize your d

2020-05-17 11:12:58 173

原创 LeetCode—环形链表

环形链表(简单)2020年5月16日题目来源:力扣解题看到题目,很容易想到用哈希表记录结点,如果出现一个出现过的结点,那就说明开始循环,返回true;若最后指向null,说明没有环,返回false。但这种做法,额外用到了哈希表记录的空间,与题意不符。/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x)

2020-05-16 11:24:57 136

原创 LeetCode—只出现一次的数字

只出现一次的数字(简单)2020年5月15日题目来源:力扣解题看到题目,第一个想法就是用HashMap记录元素个数,最后遍历找出只出现一次的key值。这样做开辟额外的空间,与题意不符。class Solution { public int singleNumber(int[] nums) { Map<Integer,Integer> map=new HashMap(); for(int a:nums){ if(map.containsKey(

2020-05-15 11:20:03 136

原创 LeetCode—验证回文串

验证回文串(简单)2020年5月14日题目来源:力扣解题自己的笨方法,用正则表达式先挑出数字字母,全转为小写,双指针进行匹配。其实可以用StringBuilder的reverse方法,再用equals进行对比,但我觉得刷题最好就不要调用别人封装好的方法了。class Solution { public boolean isPalindrome(String s) { s = s.toLowerCase().replaceAll("[^a-z0-9]", "");

2020-05-14 13:47:48 74

原创 LeetCode–买卖股票的最佳时机Ⅱ

买卖股票的最佳时机Ⅱ(简单)2020年5月13日题目来源:力扣解题记录每一次的涨幅,所有的涨幅加一起就是最佳的买卖时机。class Solution { public int maxProfit(int[] prices) { int max=0; for(int i=1;i<prices.length;i++){ if(prices[i]>prices[i-1]) max+=prices

2020-05-13 15:34:40 87

原创 数据分析比赛总结出来的实用代码杂记
原力计划

数据分析小白整理的一点实用代码

2020-05-12 11:34:18 158

原创 LeetCode—买卖股票的最佳时机

买卖股票的最佳时机(简单)2020年5月12日题目来源:力扣解题遍历数组,每一天都当作股票最低值(注意这个值是局部最小,不是全局最小),往后去找跟他差值最大的数,最后这个数就是最大利润class Solution { public int maxProfit(int[] prices) { int max=0; int min=Integer.MAX_VALUE; for(int i:prices){ if(i&lt

2020-05-12 10:00:02 112

原创 LeetCode—杨辉三角Ⅱ

杨辉三角Ⅱ2020年5月11日题目来源:力扣解题注意第一行是用0表示的,暴力动态规划解决class Solution { public List<Integer> getRow(int rowIndex) { List<Integer> t=new ArrayList<>(); if(rowIndex<0) return t; t.add(1); for(int i=1;i<=

2020-05-11 10:03:10 93

原创 LeetCode—杨辉三角

杨辉三角(简单)2020年5月10日题目来源:力扣解题动态规划,除第一行外,每行的构建都依赖上一行的结果class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> re=new ArrayList<>(); if(numRows<=0) return re;

2020-05-10 10:56:44 80

原创 LeetCode—路径总和

路径总和I(简单)今天那个太简单,我又做了一题…2020年5月9日题目来源:力扣解题/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { int count=0;

2020-05-09 12:52:40 71

原创 LeetCode—二叉树的最小深度

二叉树的最小深度(简单)2020年5月9日题目来源:力扣解题运用递归的知识,在二叉树的最大深度基础上,需要考虑一个为0另一个不为0的情况,也就是一个有叶子结点另一个没有叶子结点。题意要求的是从根节点到最近的叶子结点,那这种情况我们就不能取0继续递归了。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode r

2020-05-09 11:15:45 96

原创 LeetCode—剑指Offer:平衡二叉树

平衡二叉树(简单)2020年5月8日题目来源:力扣给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。解题在《二叉树的最大深度》的基础进一步,自底向上的记录深度,当左右子树的深度不超过1时,继续向上直至根节点,最后返回整棵树的深度;当左右子树的深度超过1时,说明不是平衡二叉树,全部返回-1。...

2020-05-08 16:31:37 60

原创 LeetCode—将有序数组转换为二叉搜索树

将有序数组转换为二叉搜索树(简单)2020年5月7日题目来源:力扣将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:解题先序构造,...

2020-05-07 10:15:40 61

原创 LeetCode—二叉树的层次遍历

二叉树的层次遍历(简单)2020年5月6日题目来源:力扣给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7],返回其自底向上的层次遍历为:解题BFS方法,仿照大佬写的,代码很美妙/** * Definition for a binary tree node...

2020-05-06 17:29:34 52

原创 LeetCode—二叉树的最大深度

二叉树的最大深度(简单)2020年5月5日题目来源:力扣给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。错误代码用递归的想法,超时了/** * Definition for a binary tree no...

2020-05-05 16:51:59 94

原创 LeetCode—剑指Offer:对称二叉树(递归+迭代)

对称二叉树(简单)2020年5月4日题目来源:力扣给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:进阶:你可以运用递归和迭代两种方法解决这个问题吗?知识补充poll() 和 remove() 都是从队列中取出一个元素,但是 poll() 在获取元素失败的...

2020-05-04 10:29:08 67

原创 LeetCode—相同的树

相同的树(简单)2020年5月3日题目来源:力扣给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。解题递归,若两个都为空,相等返回true;若一个为空,不相等返回false;若值不相等,返回false;若值相等,进入下层子树。/** * Definition for a binary tree node. * ...

2020-05-03 09:16:27 81

原创 解决安装catboost时ReadtimeError的问题

改用清华镜像源pip install catboost -i https://pypi.tuna.tsinghua.edu.cn/simplepip install ngboost -i https://pypi.tuna.tsinghua.edu.cn/simplepip install xgboost -i https://pypi.tuna.tsinghua.edu.cn/simp...

2020-05-02 22:37:50 195

原创 LeetCode—合并两个有序数组

合并两个有序数组2020年5月2日题目来源:力扣给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1...

2020-05-02 11:23:07 742

原创 在Anaconda装tensorflow遇到的问题和解决

用下面这条命令pip install --user tensorflow这样下可能会出现多次 raise ReadTimeoutError(self._pool, None, ‘Read timed out.’),但尝试多几次下载速度就会快了如果出现以下的问题:说明给的权限不够,之前命令行给的–user就是为了避免这个问题(吃过的亏),如果加了–user还是有问题,按以下的步骤来1...

2020-05-01 23:17:55 273

MySQL5.5.zip

MySQL5.5的安装包,包括32位和64位。

2020-06-05

蓝桥杯往届真题.zip

蓝桥杯往届真题总结

2020-05-01

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除