自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 200. Number of Islands 岛屿数量 (C++和Java解法)

Input: grid = [ ["1","1","0","0","0"], ["1","1","0","0","0"], ["0","0","1","0","0"], ["0","0","0","1","1"]]Output: 3题目大意:1代表土地,0代表水,一个岛屿是由四面环水的土地组成,求岛屿的数量。如上例中含3个岛屿。解题思路:典型的回溯法(DFS)求解。DFS逻辑:目的是搜索完某个岛屿所有为1的所有区域。访问标志visited[i][j]设为true,再..

2020-08-09 09:25:59 263

原创 11. Container With Most Water盛水最多的容器(C++ 和 Java解法)

Givennnon-negative integersa1,a2, ...,an, where each represents a point at coordinate (i,ai).nvertical lines are drawn such that the two endpoints of lineiis at (i,ai) and (i, 0). Find two lines, which together with x-axis forms a container, s...

2020-08-02 16:12:43 267

原创 62. Unique Paths(C++ 和 Java解法)

解题思路:刚开始我使用递归解法,然而超时了。因此改用动态规划解法,时间复杂度O(m * n)。数组dp[i][j]值 代表从起点(0, 0)至(i, j)的路径数。因为机器人只能向下移动或者向右移动,所以动态方程dp[i][j] =dp[i - 1][j] +dp[i][j - 1],即左一格和上一格的路径数相加。C++解法class Solution {public: int uniquePaths(int m, int n) { int dp[...

2020-08-01 16:53:02 246

原创 64. Minimum Path Sum(C++ 和 Java解法)

本小白华中科技大学在读研究生,自然语言处理方向。现每日一更LeetCodeTop 100 Liked Questions, 旨在于通过通俗易懂的画风和诸位计算机朋友们一起成长呀,不局限某题,争取举一反三,所有Questions均呈上C++和Java解法,不足之处多多指正,共同学习。解题思路:动态规划解决,该题比求最短路径简单多了。pathSum[i][j]的值表示从(0, 0)到(i, j)最小和。因为是个二维矩阵,对于第0行/第0列,值等于前一个位置的sum加上自己;对于非第0行/...

2020-07-08 19:59:36 174

原创 102. Binary Tree Level Order Traversal(C++和Java实现二叉树层序遍历)

Given a binary tree, return thelevel ordertraversal of its nodes' values. (ie, from left to right, level by level).For example:Given binary tree[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7return its level order traversal as:...

2020-07-04 22:04:28 165

原创 39. Combination Sum(C++ 和 Java解法)

从candidates找到组合,使得组合内的数字总和等于target,某一个数字能够重复。Input: candidates = [2,3,5], target = 8,A solution set is:[ [2,2,2,2], [2,3,3], [3,5]]典型排列组合的变形,递归穷举所有情况。大家一定要掌握DFS(深度搜索)法,也叫做递归法,回溯法求解。因为DFS能够穷举所有情况,达到求解所有可能解的要求。八皇后问题也是经典的DFS问题。解题思路:先对candid...

2020-07-03 10:43:45 202

原创 48. Rotate Image(C++ 和 Java解法)

Given input matrix = [ [1,2,3], [4,5,6], [7,8,9]],rotate the input matrix in-place such that it becomes:[ [7,4,1], [8,5,2], [9,6,3]]题目要求不能额外开辟另一个2D矩阵,不然直接把第n列放到第n行就行了。解题思路:先求原矩阵的转置矩阵(以对角线进行对称)[ ...

2020-06-26 11:06:54 210

原创 49. Group Anagrams(C++和Java解法)

给定字符串数组,将anagrams(颠倒字母而成的单词)分为同一组。Example:Input: ["eat", "tea", "tan", "ate", "nat", "bat"],Output:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]解题思路:为了能够辨别anagrams,我们需要将每一个字符串排序,如"eat"->"aet","ate"->"aet",这样就能比较两个顺序不同的字符串了。排序后,我..

2020-06-26 10:02:50 270

原创 283. Move Zeroes(C++ 和 Java解法)

本小白华中科技大学在读研究生,自然语言处理方向。现每日一更LeetCodeTop 100 Liked Questions, 旨在于通过通俗易懂的画风和诸位计算机朋友们一起成长呀,不局限某题,争取举一反三,所有Questions均呈上C++和Java解法,不足之处多多指正,共同学习。Example:Input: [0,1,0,3,12]Output: [1,3,12,0,0]Note:You must do thisin-placewithout making a copy ...

2020-06-23 14:24:19 213

原创 169. Majority Element(C++ 和 Java解法)

本小白华中科技大学在读研究生,自然语言处理方向。现每日一更LeetCodeTop 100 Liked Questions, 旨在于通过通俗易懂的画风和诸位计算机朋友们一起成长呀,不局限某题,争取举一反三,所有Questions均呈上C++和Java解法,不足之处多多指正,共同学习。这种题目要熟练掌握数据结构,类似题见Top K Frequent Elements解题思路一:首先想到利用map,key代表元素值,value代表元素出现的次数,因为题目保证总有一个元素出现次数大于n/2,所...

2020-06-22 11:19:24 176

原创 230. Kth Smallest Element in a BST(C++ 和 Java)

解题思路一:O(n)利用二叉搜索树BST的特性,左子树值都小于根节点,右子树值大于根节点,所以使用中序遍历,当遍历到第k个节点就是第k个最小的节点。以下代码依然遍历了整个BST,有兴趣的同学可以修改一下,遍历到第k个节点就结束,可以提高算法效率。class Solution {public: int result; int t = 0; void inTraverse(TreeNode* node, int k){ //中序遍历

2020-06-21 11:39:02 167

原创 238. Product of Array Except Self(C++ 和 Java解法)

Example:Input: [1,2,3,4]Output: [24,12,8,6]leetcode提示不能用除法,保证O(n)时间复杂度解题思路:leftProduct[]存储左乘,rightProduct[]存储右乘。如leftProduct[2]代表3的左乘是 1 * 2 = 2;rightProduct[2]代表3的右乘是4;result[3] = 2 * 4 = 8.C++版本vector<int> productExceptSelf(vec..

2020-06-20 21:11:44 180

原创 78. Subsets(C++ 和 Java回溯法)

Example:Input: nums = [1,2,3]Output:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]典型排列组合的变形,递归穷举所有情况。大家一定要掌握DFS(深度搜索)法,也叫做递归法,回溯法求解。因为DFS能够穷举所有情况,达到求解所有可能解的要求。八皇后问题也是经典的DFS问题。解题思路:利用DFS列举所有情况。递归结束条件:i == length - 1,即处理到...

2020-06-19 16:02:45 185

原创 647. Palindromic Substrings(C++ 和 Java详解)

Example 1:Input: "abc"Output: 3Explanation: Three palindromic strings: "a", "b", "c".Example 2:Input: "aaa"Output: 6Explanation: Six palindromic strings: "a", "a", "a", "aa", "aa", "aaa".Palindromic Substrings:即对称的回文字符串方法一:O(n ^ 2)遍历...

2020-06-18 16:24:12 174

原创 347. Top K Frequent Elements(C++ 和 Java)

本小白华中科技大学在读研究生,自然语言处理方向。现每日一更LeetCodeTop 100 Liked Questions, 旨在于通过通俗易懂的画风和诸位计算机朋友们一起成长呀,不局限某题,争取举一反三,所有Questions均呈上C++和Java解法,不足之处多多指正,共同学习。解题思路:本题要求熟练掌握数据结构map/heap。遍历数组nums,用map<int, int>存储,key代表值,value代表出现的次数。时间复杂度O(n) 遍历map,将其转换为vect...

2020-06-18 10:22:05 181

原创 206. Reverse Linked List图文详解(C++和Java实现翻转链表)

Reverse a singly linked list.Example:Input: 1->2->3->4->5->NULLOutput: 5->4->3->2->1->NULL图文详解:核心思想在于current一直指向prev,然后prev 后移指向current,current再后移C++版本ListNode* reverseList(ListNode* head) { ListNode* .

2020-06-17 14:08:42 253

原创 22. Generate Parentheses(C++ 和 Java 回溯法求解)

Givennpairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, givenn= 3, a solution set is:[ "((()))", "(()())", "(())()", "()(())", "()()()"]解题思路:初看题目,以为是利用栈求解,然而,仔细思考后,是采用回溯法(...

2020-06-16 16:05:37 401

原创 动态规划法求最大连续子列和详解(C++ 和 Java)

什么是最大连续子列和?最大连续子列和是动态规划经典问题之一。给定序列{A1,A2,......An-1, An},找出一个连续的子序列,使该子序列和最大。{1,5,-3,2,4}的最大连续子序列是{1,5,-3,2,4} = 9;{1,-2,3,4,-10,6}的最大连续子序列是{3,4} = 7;{-1,-2,-3,-4,-10}的最大连续子序列是{-1} = -1;思路一:遍历左右两个端点,获得所有可能的子序列,然后依次比较得到最大和。时间复杂度(n ^ 3)思路二:

2020-06-16 13:24:13 916

原创 动态规划和递归的区别

动态规划通常用于最优解问题,动态规划法和递归分治法的相同点就是将待求解问题分解成若干子问题,然后从这些子问题得到原问题的解。与分治法不同的是,动态规划法的问题,其分解得到的子问题往往不是互相独立的。若用分治法求解最优问题,往往分解得到的子问题过多,有些子问题会被重复计算。而动态规划法将已解决的子问题答案存下来,需要子问题答案时可以直接获得,从而达到逐步动态逼近最优解,避免重复计算,提高效率。动态规划法问题:最大连续子序列和、最长递增(减)子序列、最长公共子序列、背包问题等递归法问题:深度搜索D.

2020-06-16 11:48:50 6557

原创 46. Permutations(用C++和Java求排列组合)

Example:Input: [1,2,3]Output:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]典型求排列组合,该题思路非常重要,考题非常常见。大家一定要掌握DFS(深度搜索)法,也叫做递归法,回溯法求解。因为DFS能够穷举所有情况,达到求解所有可能解的要求。八皇后问题也是经典的DFS问题。解题思路:因为求所有排列组合,自然想到DFS,因为递归能够穷举所有情况,而递归重要的是由结束条件..

2020-06-14 11:55:48 242

原创 94. Binary Tree Inorder Traversal(递归和非递归法中序遍历二叉树)

本小白华中科技大学在读研究生,自然语言处理方向。现每日一更LeetCodeTop 100 Liked Questions, 旨在于通过通俗易懂的画风和诸位计算机朋友们一起成长呀,不局限某题,争取举一反三,所有Questions均呈上C++和Java解法,不足之处多多指正,共同学习。关于二叉树,我写过合并二叉树、求二叉树树高和转换二叉树,有兴趣的同学可以扩展一下。中序遍历(遍历左子树—访问节点—遍历右子树),最基本的数据结构知识点。递归法class Solution {public...

2020-06-12 22:40:45 237

原创 739. Daily Temperatures(C++ 和 Java解法)

本小白华中科技大学在读研究生,自然语言处理方向。现每日一更LeetCodeTop 100 Liked Questions, 旨在于通过通俗易懂的画风和诸位计算机朋友们一起成长呀,不局限某题,争取举一反三,所有Questions均呈上C++和Java解法,不足之处多多指正,共同学习。解题思路一:双重循环,对每一天的温度遍历其后面的温度,直到找到符合要求的。时间复杂度O(n ^ 2)class Solution { public int[] dailyTemperatures(i...

2020-06-11 19:59:03 226

原创 226. Invert Binary Tree(C++ 和 Java解法)

本小白华中科技大学在读研究生,自然语言处理方向。现每日一更LeetCodeTop 100 Liked Questions, 旨在于通过通俗易懂的画风和诸位计算机朋友们一起成长呀,不局限某题,争取举一反三,所有Questions均呈上C++和Java解法,不足之处多多指正,共同学习。Example:Input: 4 / \ 2 7 / \ / \1 3 6 9Output: 4 / \ 7 2 / \...

2020-06-10 19:40:16 217

原创 136. Single Number(C++和Java解法)

本题较为简单,除了一个元素,其他元素均出现两次。解题思路一:首先想到利用Map数据结构,Map能保证key的唯一性,所以我们把num当做key,把出现次数当做value。若Map找不到某元素,则插入,找到了,则移除(第二次出现),最后map肯定仅仅剩下出现一次的元素。所以你要知道C++/Java的Map接口函数。C++版本int singleNumber(vector<int>& nums) { map<int, int> n;

2020-06-10 17:16:51 153

原创 104. Maximum Depth of Binary Tree(求二叉树高度)

解题思路:该题完全就是求一个给定二叉树的高度,不会的同学建议温习数据结构。根据二叉树结构特性,递归求高度。有一题是合并二叉树,想知识拓展见合并二叉树。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), ri.

2020-06-10 16:10:36 142

原创 406. Queue Reconstruction by Height(C++、Java、Python解法)

目录解题思路:C++解法一:C++解法二:Python解法:Java解法:解题思路:关键在于“排序”。每个人由(h, k)组成,h代表身高,k代表在他前面身高大于等于他自己的人数。排序规则:首先按照每个人的高度h降序排列,若两个人的高度h相等,则再按k升序排列。Example 1Input:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]Sort based on height and K value.[[7,0], ...

2020-06-09 17:21:29 96

原创 338. Counting Bits(C++ 和 Java)

本小白华中科技大学在读研究生,自然语言处理方向。现每日一更LeetCodeTop 100 Liked Questions, 旨在于通过通俗易懂的画风和诸位计算机朋友们一起成长呀,不局限某题,争取举一反三,所有Questions均呈上C++和Java解法,不足之处多多指正,共同学习。暴力循环法(核心在于“取余 + 整除”来转换二进制)class Solution {public: int countBit(int num){ int result...

2020-06-07 18:40:06 242

原创 617. Merge Two Binary Trees(C++ 和 Java)

本小白华中科技大学在读研究生,自然语言处理方向。现每日一更LeetCodeTop 100 Liked Questions, 旨在于通过通俗易懂的画风和诸位计算机朋友们一起成长呀,不局限某题,争取举一反三,所有Questions均呈上C++和Java解法,不足之处多多指正,共同学习。关于二叉树,再难也不过与先序、中序、后序、层序遍历,大多是递归法(回溯法),只有层序遍历不是(运用了队列)。解题思路:合并两颗二叉树———>操作某节点后,需要再合并其左子树和右子树———>果断递归法...

2020-06-06 22:00:58 174

原创 递归法求解八皇后

八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线(对角线)上,问有多少种摆法。主要思路:一行一行得摆放皇后,直到第7行(作为递归结束条件)。初始状态从第0行开始摆放,利用递归(深度搜索)去搜索所有情况,最后求得解。#include<bits/stdc++.h>using namespace std;int sum = 0.

2020-06-04 10:19:40 489

原创 ABSA领域的最新进展

1.研究背景随着社交媒体的蓬勃发展,人们更加积极地在互联网上表达和分享自己对商品的看法和态度,海量评论反馈也成为商家企业改进用户服务、凝聚用户流量的重要资源。如何利用计算机技术分析挖掘用户评论背后的情感规律成为当下热门技术话题。2.ABSA是什么对于用户评论,Aspect-based sentiment analysis(ABSA)从判断评论的单一情感态度取向逐渐演化为三个独立的子任务:评价对象抽取、评价对象情感分类、评价观点抽取。以句子”Waiters are friendly but the fr

2020-06-03 09:59:21 1478

空空如也

空空如也

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

TA关注的人

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