笔记
HBDLDX911
这个作者很懒,什么都没留下…
展开
-
课程表
/ 定义一个数组来存储课程的入度int[] indegree = new int[numCourses]; 定义一个队列用来排 将所有入度为0的课程入队, 然后将入度标记为-1,防止后面重复入队 开始出队,每出队一门课,就维护入度数组,然后将所有入度为0的数组入队,然后将入度标记为-1,防止后面重复入队 遍历indegree中入度为-1的数量,也就是已经完成的课程数,和numCourses一样就返回true,否则返回falseclass Solution { public bool原创 2020-05-17 20:19:35 · 167 阅读 · 0 评论 -
格雷编码
class Solution { public List<Integer> grayCode(int n) { List<Integer> res = new ArrayList<Integer>() {{add(0);}}; int head = 1; for (int i = 0; i < n; i++)...原创 2020-04-19 20:21:32 · 106 阅读 · 0 评论 -
子集
class Solution { public List<List<Integer>> subsets(int[] nums) { List<List<Integer>> res = new ArrayList<>(); res.add(new ArrayList<>()); for (int ...原创 2020-04-19 20:10:31 · 118 阅读 · 0 评论 -
只出现一次的数字
学了一个讨巧的方法XOR,它具有记忆性和可交换性,能有效处理问题。class Solution { public int singleNumber(int[] nums) { int num=0; for(int n:nums) num^=n; return num; }}...原创 2020-04-11 21:19:03 · 66 阅读 · 0 评论 -
无重复字符的最长子串
首先理解子串和子序列的区别,然后利用滑动窗口解决该问题,再者利用哈希表减小空间存储。class Solution { public int lengthOfLongestSubstring(String s) { Map<Character,Integer>map=new HashMap<>(); int first=0; int resu...原创 2020-04-11 21:00:55 · 65 阅读 · 0 评论 -
反转字符串
利用双指针分别指向字符串的头部和尾部,进行交换直到位置相同。class Solution { public void reverseString(char[] s) { int left = 0; int right = s.length - 1; char temp; while (left < right) { temp ...原创 2020-04-06 21:14:01 · 77 阅读 · 0 评论 -
最长公共前缀
运用暴力法直接依次进行对比操作。class Solution { public String longestCommonPrefix(String[] strs) { if (strs.length == 0||strs==null) return ""; String prefix = strs[0]; for (int i = 1; i &l...原创 2020-04-06 21:05:59 · 97 阅读 · 0 评论 -
设计循环双端队列
运用循环队列解题即可class MyCircularDeque { private int[] ring; private int cap; private int head; private int tail; /** Initialize your data structure here. Set the size of the deque to b...原创 2020-03-30 15:29:11 · 110 阅读 · 0 评论 -
整数反转
首先判断是否为Integer的最小值 ,是则返回0,然后判断是否为负数,再将x取正,最后在运行中判断是否会溢出,是则返回0。class Solution { public int reverse(int x) { if(x==Integer.MIN_VALUE) return 0; int neg=x<0?-1:1; x*=neg; i...原创 2020-03-29 20:06:31 · 75 阅读 · 0 评论 -
最小栈
先将首元素推入栈中,新加入的元素如果大于栈顶元素就不处理,新加入的元素如果小于等于栈顶元素就将新元素入栈。class MinStack { /** initialize your data structure here. */ private Stack<Integer> stack; private Stack<Integer> minStac...原创 2020-03-22 23:43:27 · 82 阅读 · 0 评论 -
有效的括号
遍历元素,遇到左括号就存到数据结构中,遇到右括号就去找左括号数据结构的头位置,用map判断是右括号与左括号否配对。class Solution { public boolean isValid(String s) { if(s==null||s.length()==0) return true; Map<Character, Character>...原创 2020-03-22 23:03:05 · 71 阅读 · 0 评论 -
环形链表
利用哈斯表解题/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */publi...原创 2020-03-15 22:30:13 · 62 阅读 · 0 评论 -
删除排序链表中的重复元素
由于输入的列表已排序,所以可用while循环,对比前后是否重复。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution ...原创 2020-03-15 22:15:14 · 64 阅读 · 0 评论 -
合并两个有序链表
尝试一下C#(老师上课讲的)/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * public ListNode(int x) { val = x; } * } */public class...原创 2020-03-15 21:39:56 · 74 阅读 · 0 评论 -
猜数字
之前学习C++的时候接触过随机数的判定,就用它尝试了一下。#include<iostream>#include<cstdlib>using namespace std;int main(){ int num; int magic; int i = 1; magic = rand() % 100 + 1; cout << "猜测一个0到100之...原创 2020-03-08 23:12:42 · 114 阅读 · 0 评论 -
买卖股票的最佳时机II
无限次买卖的最大利润为只要有增长即可计入利润中原创 2020-03-08 21:52:10 · 163 阅读 · 0 评论 -
合并两个有序数组
这条题目借鉴的方法比较多,首先是要从后向前遍历数组,其次三目运算符的使用简化了过程,最后将nums2中找回丢失的元素的方法是完全想不到的,提示说将nums2数组从下标0位置开始,拷贝到nums1数组中即可。...原创 2020-03-01 21:50:44 · 84 阅读 · 0 评论 -
买卖股票的最佳时机
开始的时候想用minprice和maxprice,但是没有想到确保maxprice比minprice的方法,于是换用的maxprofit。但是越界,当有Integer.MAX_VALUE和MIN_VALUE,可以避免出现对其直接运算。...原创 2020-03-01 19:43:31 · 126 阅读 · 0 评论 -
最大自序和
如果之前的加当前位置的小于当前位置的值,说明之前的小于0,就不再考虑。之前没学过Java,被数组初始化卡了一下,其它顺利。原创 2020-03-01 17:02:08 · 98 阅读 · 0 评论 -
删除排序数组中的重复项
本题与移除元素的方法相似,但是编译的时候出现了中文字符的错误。原创 2020-02-23 22:01:58 · 60 阅读 · 0 评论 -
移除元素
根据两数之和的Java格式模仿而来,虽然没学过,但挺好写的(假装)。原创 2020-02-23 21:44:36 · 54 阅读 · 0 评论 -
两数之和
在网上观看了一下哈斯表的解法,用哈斯表存储已经访问过的整数,在访问一个新的整数的时候,需要找的那个整数,就去哈斯表里进行查找,如果找到所需要的整数,就返回它的下标。自己本身还不能独立完成任务,需要借鉴模仿。...原创 2020-02-23 21:05:27 · 77 阅读 · 0 评论