力扣
文章平均质量分 55
努力敲代码的小方
欢迎大家在我的博客练赞拳
展开
-
力扣-栈
力扣-栈栈:先进后出内置栈// "static void main" must be defined in a public class.public class Main { public static void main(String[] args) { // 1. Initialize a stack. Stack<Integer> s = new Stack<>(); // 2. Push new element原创 2021-05-08 17:50:44 · 185 阅读 · 0 评论 -
力扣附属--报错处理:java.lang.NullPointerException
注意null!null表示空,未分配空间,所以不能用来操作,比较等,如果操作了就会报空指针异常。原创 2021-03-29 16:57:20 · 331 阅读 · 0 评论 -
力扣-队列&广度优先搜索(循环队列、数据流中的移动平均数、墙与门、岛屿数量、完全平方数)
循环队列思路主要就是运用取余,rear和front就可以一直++,这样便于分辨队列的满或空,在给队列元素赋值的时候注意需要对len取余即可代码class MyCircularQueue { int[] queue; int front,rear,len; public MyCircularQueue(int k) { queue=new int[k]; front=rear=0; len=k; } public boolean en原创 2021-03-29 11:41:18 · 254 阅读 · 0 评论 -
力扣附属--处理报错:The type List is not generic; it cannot be parameterized with arguments
导错包了应该import java.util.*转载 2021-03-28 21:18:34 · 681 阅读 · 0 评论 -
力扣-栈 (数组切片arraycopy、peek与poop、Integer.equals()与“==”、数组实现栈)
剑指Offer 59 -l题解1用数组切片做代码class Solution { public int[] maxSlidingWindow(int[] nums, int k) { if(k==0) return new int [0]; int [] res= new int[nums.length-k+1]; for (int i=0;i<=nums.length-k;i++) { res[i]=Arrays.stre原创 2021-03-27 20:37:13 · 127 阅读 · 0 评论 -
力扣-栈-剑指 Offer 30. 包含min函数的栈(peek与pop、Integer.equals()与“==”、数组实现栈)
剑指 Offer 30. 包含min函数的栈题解1-双栈思路用一个主栈以及一个辅助栈来实现这个功能,主栈负责主要的pop,push,辅助栈用来记录min。其中:push: 如果min栈为空,或压入的元素大于min栈的栈顶元素,则也将x压入min栈,注意这里需要用大于等于号,因为如果只是大于号,连续压入两个相同的最小值,再弹出一个最小值就会出错pop:如果主栈pop出的元素与min栈的栈顶元素相同,则min也poptop:获取主栈的栈顶元素min:获取min栈的栈顶元素代码class原创 2021-03-12 22:55:29 · 138 阅读 · 0 评论 -
力扣-题目合集-简单
17731.switch-case记得要break2.“The type of the expression must be an array type but it resolved to List”数组(Array) vs 列表(ArrayList)Array([]):最高效;但是其容量固定且无法动态改变;ArrayList(get): 容量可动态增长;但牺牲效率;1470交替可看成奇偶1486位运算:异或略称为XOR、EOR、EX-OR1702异或特性: a^b=c -原创 2021-03-09 21:51:19 · 2696 阅读 · 0 评论 -
力扣-1342.将数字变成0的操作次数(原码;反码;补码、补码运算及溢出、位运算、进制转换、HDBO)
题目位运算解法知识点机器数&真值机器数有符号位,机器数的真值就是将符号位作为数值读。如: [-1] =[10000001](机器数); -1的真值就是129机器数有三种表达方式:原码、反码、补码:原码原码表示法在数值前面增加了一位符号位,(即最高位为符号位)正数该位为0,负数该位为1,其余位表示数值的大小,如:[+1] =[00000001]\(原码);[-1] =[10000001]\(原码);此时8位二进制的取值范围就是[1111 1111,0111 1111]也就是[原创 2021-03-09 21:13:26 · 509 阅读 · 0 评论 -
力扣-1662.检查两个字符串数组是否相同(stream.reduce,String.join)
题目题解1用reduce将他连起来,代码看起来简洁但是耗时耗空间hh代码class Solution { public boolean arrayStringsAreEqual(String[] word1, String[] word2) { String s1=Arrays.stream(word1).reduce("",(sumString,s)->sumString+s); String s2=Arrays.stream(word2).redu原创 2021-03-08 22:18:34 · 214 阅读 · 0 评论 -
力扣-1313.解压缩编码列表(列表、流、数组的转化 基本数据类型的装箱)
题目题解1思路用Arraylist处理,最后再转换成int数组代码class Solution { public int[] decompressRLElist(int[] nums) { ArrayList<Integer> int_list=new ArrayList<Integer>(); for(int i=0;i<(nums.length/2);i++) { for(int j=1;j<=nums[2*i];j原创 2021-03-08 17:35:36 · 107 阅读 · 0 评论 -
力扣-1684 统计一致字符串的数目 (String\char)
题目题解1思路建立一个大小为26的数组,指代26个字母将allowed含有的字母对应的位置改为1再递归words中的word的每一个字母即可代码class Solution { public int countConsistentStrings(String allowed, String[] words) { int ans=0; int[] allowedlist=new int[26]; for(char c:allowed.toCha原创 2021-03-08 13:40:09 · 155 阅读 · 0 评论 -
力扣-1672.最富有客户的资产(Arrays.stream; Arrays.asList; System.out::print; lambda)
题目题解1知识点Arrays.streamArrays.asListlist.forEach(System.out::println);原创 2021-03-07 13:16:11 · 235 阅读 · 4 评论 -
力扣-LCP22.黑白方格画
题目小扣注意到秋日市集上有一个创作黑白方格画的摊位。摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动。画板上有 n * n 的网格。绘画规则为,小扣可以选择任意多行以及任意多列的格子涂成黑色,所选行数、列数均可为 0。小扣希望最终的成品上需要有 k 个黑色格子,请返回小扣共有多少种涂色方案。注意:两个方案中任意一个相同位置的格子颜色不同,就视为不同的方案。示例 1:输入:n = 2, k = 2输出:4解释:一共有四种不同的方案:第一种方案:涂第一列;第二种方案:涂第二列;第三种原创 2021-03-06 22:03:10 · 303 阅读 · 0 评论 -
力扣第二题——两数相加(链表)
力扣第二题——两数相加(链表)题目题目解释(链表简单介绍)链表是Java数据结构中的一种,由一系列节点(链表中每一个元素称为节点)组成,每个节点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个节点地址的指针域。链表的第一个节点(头节点head)一般不存数据元素,用来指向存储数据的第一个节点。题目中已有的ListNode便是一个链表类,val是数据域,即这个节点的值,类型为int,next为指针域,指向下一个节点,类型为链表。解题class Solution { publi原创 2020-10-15 16:17:21 · 602 阅读 · 0 评论