自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 Bugku隐写(png图片16进制格式)

介绍png图片16进制格式,通过修改图片宽高破解图片隐写内容。

2023-12-04 23:06:42 208

原创 剑指Offer18.删除链表的节点

用双指针来遍历链表,找到要删除的节点后进行删除。在头节点之前增加一个 节点,这样当要删除的节点是否为头节点都可以统一处理。 以 , 为例:

2022-07-08 09:46:22 201 1

原创 C++中sort()和priority_queue自定义比较函数的区别

C++中sort()和priority_queue都能自定义比较函数,其中sort()自定义的比较函数比较好理解,priority_queue中自定义的比较函数的效果和sort()是相反的。代码如下#include<bits/stdc++.h>using namespace std;struct cmp{ bool operator()(int a,int b){ return a<b; }};int main(){ vector<int&g

2022-04-08 08:38:26 982

原创 Leetcode Weekly Contest 277(二进制枚举)

吐槽一下本次周赛,前三题都是简单的模拟题,完全拼手速。题目链接: Leetcode Weekly Contest 2771、2148. Count Elements With Strictly Smaller and Greater Elements难度:Easy代码:class Solution {public: int countElements(vector<int>& nums) { sort(nums.begin(),nums.end());

2022-01-23 16:12:43 440

原创 Leetcode Weekly Contest 276(贪心、DFS、动态规划)

题目链接: Leetcode Weekly Contest 2761、2133. Check if Every Row and Column Contains All Numbers难度:Easy思路模拟代码:class Solution { public String[] divideString(String s, int k, char fill) { int size=s.length()%k==0?s.length()/k:s.length()/k+1;

2022-01-18 20:05:45 259

原创 Leetcode Weekly Contest 275(暴力、滑动窗口、位掩码、贪心)

题目链接: Leetcode Weekly Contest 2751、2133. Check if Every Row and Column Contains All Numbers难度:Easy思路暴力求解。代码:class Solution { public boolean checkValid(int[][] matrix) { int n=matrix.length; for(int i=0;i<matrix.length;i++){

2022-01-11 21:10:58 272

原创 Leetcode Weekly Contest 272(双指针、贪心、二分查找)

题目链接: Leetcode Weekly Contest 2721、2108. Find First Palindromic String in the Array难度:Easy代码:class Solution { public String firstPalindrome(String[] words) { for(String s:words){ int l=0,r=s.length()-1; boolean flag=

2021-12-19 17:07:54 122

原创 Leetcode Weekly Contest 271(贪心+前缀和)

题目链接: Leetcode Weekly Contest 2711、2103. Rings and Rods难度:Easy代码:class Solution { public int countPoints(String rings) { int[][] colorCount=new int[10][3]; char[] s=rings.toCharArray(); for(int i=0;i<s.length/2;i++){

2021-12-12 16:06:34 206

原创 Leetcode Weekly Contest 267(链表、并查集)

题目链接: Leetcode Weekly Contest 2671、2073. Time Needed to Buy Tickets难度:Easy代码:class Solution { public int timeRequiredToBuy(int[] tickets, int k) { int res=0; int n=tickets.length; while(tickets[k]>1){ for(int

2021-12-09 10:38:34 199

原创 Leetcode Weekly Contest 269(前缀和、并查集)

题目链接: Leetcode Weekly Contest 2691、2089. Find Target Indices After Sorting Array难度:Easy代码:class Solution { public List<Integer> targetIndices(int[] nums, int target) { List<Integer> res=new ArrayList<>(); Arrays.so

2021-12-06 17:10:57 184

原创 Leetcode 1262. Greatest Sum Divisible by Three(一题容易错的DP题)

Leetcode 1262. Greatest Sum Divisible by Three题目链接: Greatest Sum Divisible by Three难度:Medium题目大意:选取数组中的若干个元素,使得这些元素的和能被3整除且尽可能得大。思路:01背包的变形,注意细节。代码class Solution { public int maxSumDivThree(int[] nums) { int n=nums.length; int

2021-11-29 16:58:28 95

原创 Leetcode Weekly Contest 268(二分、贪心、进制转换)

题目链接: Leetcode Weekly Contest 2681、2078. Two Furthest Houses With Different Colors难度:Easy双指针,从左往右和从右往左各扫描一遍。代码:class Solution { public int maxDistance(int[] colors) { int l=0,r=colors.length-1; int res=0; while(l<r){

2021-11-27 09:52:55 168

原创 整数和字符相加(提醒自己)

在写代码的时候遇到bug一直没找出来,最后发现是因为没有搞清楚int和char类型相加之后的类型,写篇博客提醒自己。public class Main { public static void main(String[] args) { int a=0; char b='1'; System.out.println(a+b);//输出的是‘1’的ASIC码值49 System.out.println((char)(a+b));//输出

2021-11-27 09:38:44 947 1

原创 Leetcode Weekly Contest 266(数学、二分)

题目链接: Leetcode Weekly Contest 2651、难度:Easy代码:class Solution { public int smallestEqual(int[] nums) { for(int i=0;i<nums.length;i++){ if(i%10==nums[i]){ return i; } } return -1;

2021-11-05 19:37:41 103

原创 Leetcode Weekly Contest 264(字符串、DFS)

题目链接: Leetcode Weekly Contest 2641、2047. Number of Valid Words in a Sentence难度:Easy代码:class Solution { public int countValidWords(String sentence) { int j=0; while(j<sentence.length()&&sentence.charAt(j)==' '){

2021-10-24 22:26:53 1510

原创 Leetcode Weekly Contest 262(贪心、二分、折半查找)

题目链接: Leetcode Weekly Contest 2621、2032. Two Out of Three难度:Easy代码:class Solution { public List<Integer> twoOutOfThree(int[] nums1, int[] nums2, int[] nums3) { int[] count1=new int[101]; int[] count2=new int[101]; int[

2021-10-21 18:52:37 102

原创 Leetcode Weekly Contest 263(状态压缩、字符串)

题目链接: Leetcode Weekly Contest 2631、2042. Check if Numbers Are Ascending in a Sentence难度:Easy代码:class Solution { public boolean areNumbersAscending(String s) { String[] arr=s.split(" "); int prev=-1; for(String str:arr){

2021-10-19 15:22:30 78

原创 Leetcode Weekly Contest 261(数学推理、贪心)

题目链接: Leetcode Weekly Contest 2611、2027. Minimum Moves to Convert String难度:Easy代码:class Solution { public int minimumMoves(String s) { char[] a=s.toCharArray(); int res=0; for(int i=0;i<a.length;){ if(a[i]=='X

2021-10-05 16:45:05 77

原创 Leetcode Weekly Contest 260(前缀和、模拟、DP)

题目链接: Leetcode Weekly Contest 2601、2016. Maximum Difference Between Increasing Elements难度:Easy代码:class Solution { public int maximumDifference(int[] nums) { int n=nums.length; int min=nums[0]; int res=-1; for(int i=1

2021-09-28 20:57:54 68

原创 Leetcode Weekly Contest 259(数组、哈希)

题目链接: Leetcode Weekly Contest 2591、1995. Count Special Quadruplets难度:Easy思路:暴力。代码:class Solution { public int countQuadruplets(int[] nums) { int n=nums.length; int res=0; for(int i=0;i<n;i++){ for(int j=i+1;

2021-09-20 08:56:46 81

原创 Leetcode Weekly Contest 258(字符串、状态压缩)

题目链接: Leetcode Weekly Contest 2581、2000. Reverse Prefix of Word难度:Easy思路:模拟即可。代码:class Solution { public String reversePrefix(String word, char ch) { char[] s=word.toCharArray(); int index=-1; for(int i=0;i<s.length;i++

2021-09-12 17:28:55 92

原创 Leetcode Weekly Contest 257(暴力、排序、动态递归)

题目链接: Leetcode Weekly Contest 2571、1995. Count Special Quadruplets难度:Easy思路:暴力。代码:class Solution { public int countQuadruplets(int[] nums) { int n=nums.length; int res=0; for(int i=0;i<n;i++){ for(int j=i+1;

2021-09-12 17:27:28 91

原创 Leetcode Weekly Contest 256(滑动窗口、排序、状态压缩、动态规划)

题目链接: Leetcode Weekly Contest 2561、1984. Minimum Difference Between Highest and Lowest of K Scores难度:Easy思路:对数组从小到大排序,然后用长度为k的滑动窗口进行求解。代码:class Solution { public int minimumDifference(int[] nums, int k) { if(k==1){ return 0;

2021-09-01 14:39:27 79

原创 Leetcode Weekly Contest 255(回溯、剪枝)

题目链接: Leetcode Weekly Contest 255写在前面:本次周赛做出第一题和第二题。速度太慢,目测要掉分了。1、1979. Find Greatest Common Divisor of Array难度:Easy题意求数组中最大值和最小值的最大公约数。代码:class Solution { public int findGCD(int[] nums) { Arrays.sort(nums); int min=nums[0];

2021-08-24 17:16:10 61

原创 Leetcode Weekly Contest 254(快速幂、二分、BFS)

题目链接: Leetcode Weekly Contest 254写在前面:本次周赛做出第一题和第二题。1、1967. Number of Strings That Appear as Substrings in Word难度:Easy题意详见题目。代码:class Solution { public int numOfStrings(String[] patterns, String word) { int res=0; for(String s:p

2021-08-15 16:59:31 71

原创 Leetcode 784. Letter Case Permutation(DFS)

Leetcode 784. Letter Case Permutation题目链接: Letter Case Permutation难度:Medium题目大意:给出一个只包含数字和字母的字符串,可以将字母的大小写改变,也可以不变,求所有可能生成的字符串。思路:用DFS进行求解,遍历字符串,如果碰到字母,该字母可以变成大写字母或者小写字母,然后进行DFS遍历。代码class Solution { public List<String> letterCasePermuta

2021-08-10 11:02:16 63

原创 回溯法求解Leetcode经典排列问题(Leetcode 46、47、996)

写在前面:求解排列问题常用的方法是回溯,回溯类似于DFS(深度优先遍历),实际是一个暴力搜索的过程,把所有的排列都列举出来,找出符合题意的排列。组合问题与元素顺序无关,而排列问题与元素的顺序有关。1、46. Permutations题意:给出一个不含重复元素的数组,求所有可能的排列。代码:class Solution { public List<List<Integer>> permute(int[] nums) { List<List&lt

2021-08-10 10:54:38 95

原创 Leetcode 300. Longest Increasing Subsequence(动态规划、贪心+二分)

Leetcode 300. Longest Increasing Subsequence题目链接: Count of Smaller Numbers After Self难度:Medium题目大意:给出一个数组,求最长递增子序列的长度思路:参考leetcode官方题解,有动态规划和贪心+二分两种思路。代码动态规划class Solution { public int lengthOfLIS(int[] nums) { int n=nums.length;

2021-08-10 09:11:50 66

原创 Leetcode Weekly Contest 253(字符串、贪心、二分)

题目链接: Leetcode Weekly Contest 253写在前面:本次周赛做出第一题和第二题。1、1961. Check If String Is a Prefix of Array难度:Easy代码:class Solution { public boolean isPrefixString(String s, String[] words) { char[] arr=s.toCharArray(); StringBuilder sb=new

2021-08-08 21:05:57 79

原创 回溯法求解Leetcode经典组合问题(Leetcode17、39、40、216、77、78、90、131)

写在前面:求解组合问题常用的方法是回溯,回溯类似于DFS(深度优先遍历),实际是一个暴力搜索的过程,把所有的组合都列举出来,找出符合题意的组合。1、Leetcode 17. Letter Combinations of a Phone Number思路:参考高赞回答。class Solution { public List<String> letterCombinations(String digits) { List<String> res=new

2021-08-06 17:11:20 187

原创 Leetcode Weekly Contest 252(贪心、动态规划、数学)

题目链接: Leetcode Weekly Contest 252写在前面:本次周赛做出第一题和第三题。1、1952. Three Divisors难度:Easy题目大意:判断一个正整数是否刚好有3个因子。思路:n的范围较小,统计其因子的数量即可。class Solution { public boolean isThree(int n) { int count=0; for(int i=1;i<=n;i++){ if(

2021-08-04 16:16:44 63

原创 Leetcode Weekly Contest 251(回溯、贪心)

题目链接: Leetcode Weekly Contest 251写在前面:本次周赛没有打,在比赛后进行模拟。做出了前两道。1、1945. Sum of Digits of String After Convert难度:Easy题目大意:将字符串按照规则转化成数字,再将数字各个位上的数相加求和。思路:按题意模拟即可。class Solution { public int getLucky(String s, int k) { char[] arr=s.toCharA

2021-08-04 16:15:11 72

原创 Leetcode Weekly Contest 250(前三题)

题目链接: Leetcode Weekly Contest 250写在前面:本次周赛没有参加,在赛后进行模拟的,做出了前两道。1、1935. Maximum Number of Words You Can Type难度:Easy题目大意:详见题意。思路:按照题意模拟即可。class Solution { public int canBeTypedWords(String text, String brokenLetters) { String[] arr=text.

2021-07-27 16:43:25 64

原创 Leetcode 315. Count of Smaller Numbers After Self(分治法)

Leetcode 315. Count of Smaller Numbers After Self题目链接: Count of Smaller Numbers After Self难度:Hard题目大意:给出一个数组,求各个元素的右边有多少个比自己小的元素。思路:参考高赞回答1和高赞回答2,求解过程实际上是模拟归并排序的过程。代码class Solution { int[] count; public List<Integer> countSmaller(int

2021-07-26 11:24:40 109

原创 Leetcode 912. Sort an Array(归并排序)

Leetcode 912. Sort an Array题目链接: Sort an Array难度:Medium题目大意:对数组进行排序。思路:用分治法对数组进行归并排序,将数组分成两部分,分别排好序后再进行合并。代码class Solution { public int[] sortArray(int[] nums) { mergeSort(nums); return nums; } public void mergeSort(int

2021-07-26 11:13:38 67

原创 Leetcode 154. Find Minimum in Rotated Sorted Array II(分治)

Leetcode 154. Find Minimum in Rotated Sorted Array II题目链接: Find Minimum in Rotated Sorted Array II难度:Hard题目大意:将一个不递减的数组循环移位若干次,求这个数组的最小元素。时间复杂度要求O(logn)。思路:与Leetcode 153. Find Minimum in Rotated Sorted Array类似,分治,找出乱序出现的位置即可找到最小值。代码class Solution

2021-07-26 11:07:07 52

原创 Leetcode 153. Find Minimum in Rotated Sorted Array(分治和二分)

Leetcode 153. Find Minimum in Rotated Sorted Array题目链接: Find Minimum in Rotated Sorted Array难度:Medium题目大意:将一个严格升序的数组循环移位若干次,求这个数组的最小元素。时间复杂度要求O(logn)。思路1:分治,找出乱序出现的位置即可找到最小值。代码class Solution { public int findMin(int[] nums) { int n=num

2021-07-26 11:01:38 55

原创 Leetcode 169. Majority Element(找数组的主元素)

Leetcode 169. Majority Element题目链接: Majority Element难度:Easy题目大意:找出整形数组中的主元素,即出现次数超过半数的元素。思路1:统计数组中各个元素的个数,出现次数最多的就是主元素。代码class Solution { public int majorityElement(int[] nums) { Map<Integer,Integer> map=new HashMap<>();

2021-07-12 16:39:27 137

原创 Leetcode Weekly Contest 249(前两题)

题目链接: Leetcode Weekly Contest 249写在前面:本次周赛做出了前两题,头一次碰到一场周赛两道hard题。1、1929. Concatenation of Array难度:Easy题目大意:详见题意。思路:按照题意模拟即可。class Solution { public int[] getConcatenation(int[] nums) { int n=nums.length; int[] res=new int[2*n]

2021-07-12 15:38:36 73

原创 Leetcode Weekly Contest 248(前三题)

题目链接: Leetcode Weekly Contest 248写在前面:本次周赛手速场,前三题不难,虽然做的磕磕碰碰都做出来了,第四题难度比较大不会做。1、1920. Build Array from Permutation难度:Easy题目大意:详见题意。思路:按照题意模拟即可。class Solution { public int[] buildArray(int[] nums) { int n=nums.length; int[] ans=

2021-07-04 15:44:31 116

东南大学数920数电重点题精编.zip

东南大学920数电重点题精编,包含重点题和详细答案解析,将近40页,可以配合真题使用,是东南大学通信信号考研必不可少的复习材料。

2020-07-28

东南大学920高分笔记(高清电子版)

东南大学920高分笔记,针对920专业课,由高分学长学姐总结,包含数电和信号,共110多页高清电子版笔记,是考研东南大学通信信号必不可少的复习材料。

2020-07-28

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

TA关注的人

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