- 博客(15)
- 收藏
- 关注
原创 532 k-diff pairs in array
求数组中差值绝对值为k的不重复元素有多少对,使用的思想:two-points(吐槽一句:字母l和1真的太像了。。。)自己的:分三种情况“k<0;k=0;k>0"set的缺陷在于不能处理k=0的情况,因此相当于写两套方案,太麻烦了。class Solution { public int findPairs(int[] nums, int k) { if(n...
2018-10-31 14:54:07 125
原创 167 two sum
给定一个有序数组,求能够求和形成target的两个元素。由于是有序,可以用O(n)复杂度完成。两指针同时指向前后,判断该如何移动即可。class Solution { public int[] twoSum(int[] numbers, int target) { if(numbers==null || numbers.length<2) return nu...
2018-10-31 13:52:01 73
原创 一些关于字符串题的感悟(可能是个持更)
如何判断一个字符在字符串中是否唯一?indexOf 是否等于lastIndexOf怎么判断一个字符串中字符出现了几次?indexOf(char ch, int 上一次索引到的位置+1)方法中表示偏移量的(int start,int end)到底包不包括数值start和end?第一个包含,第二个不包含,若只有一个,包含。 ...
2018-10-30 21:36:54 165
转载 383 ransom note
Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines ; ot...
2018-10-30 21:17:51 224
原创 345 reverse vowels of a string
关键:找一个容器存储可换位置的字母1. 自己使用数组存储class Solution { public String reverseVowels(String s) { int[] map= new int[256]; map['a']= map['A']= 1; map['e']= map['E']= 1; ma...
2018-10-30 20:38:04 103
原创 125 VALID PALINDROME
关键点:判断当前字符是不是字母或数字class Solution { public boolean isPalindrome(String s) { if(s== null || s.length()<2) return true; String sl= s.toLowerCase(); int start= 0, end= ...
2018-10-30 19:33:58 120
原创 804 unique morse code words
目的:在一组字符串中求不相同的字符串个数采用什么判断是否重复?HashMap不会存相同的HashMap判断两元素是否相同的标准:1. hashcode 2.equals方法equals方法:若没有重写Object中的equals方法,则两元素指向同一个地址才算相同; 若重写过equals方法,根据方法规定的判断是否相同。String重...
2018-10-28 20:48:08 85
原创 64 minimum sum path寻找路径和最小
递推class Solution { public int minPathSum(int[][] grid) { int row = grid.length; if(row == 0) return -1; int col = grid[0].length; if(row==1 && col==1) ...
2018-10-23 17:25:26 155
原创 leetcode 63动态规划障碍路径
与无障碍类似,需多写的是根据某点状态判断到达某点的路径数。式为 w[i][j]=(1-obstacleGrid[i][j])*(w[i][j-1]+w[i-1][j])class Solution { public int uniquePathsWithObstacles(int[][] obstacleGrid) { int row = obstacleGrid...
2018-10-23 16:51:09 1054
原创 leetcode59 spiral matrix2
思路与54相同,由于为行=列的数组,再判断何时跳出时可简化步骤。class Solution { public int[][] generateMatrix(int n) { int[][] matrix = new int[n][n]; int u=0,d=n-1,s=1; while(d>=u){ ...
2018-10-23 15:43:40 159
原创 leetcode 54 spiral matrix
题目要求:按照特定顺序将二维数组的元素存储至list中(顺时针遍历)思想:由外至内的顺时针遍历,可设置四个边界值,存储当前该遍历的圈的界限,在一个死循环中执行四个方向的一维数组遍历操作,当无数组可遍历时跳出循环。tips:获取二维数组行与列的方法(注意矩阵为空的情况,此时直接获取列会出错,因为没有matrix[0])代码如下: class Solution { pu...
2018-10-23 11:56:08 109
原创 leetcode 215
使用堆排序仅对所需的前k个进行排序。在交换函数出了点差错,本来打算用位运算加快速度,忽略了nums[i]与nums[j]交换时i==j的情况,导致位运算结果为0.class Solution { public static void main(String[] args) { int[] n = {1}; System.out.println(findK...
2018-10-22 11:05:06 219
原创 leetcode121 best time buy and sell stock
意思就是说在一组数字里,找到后出现的数减前面数的最大差值。考虑两种情况:1. 数组内的数不足两位或为空,则返回02. 数组内数大于2,就是我们要考虑的动态规划问题了建立一个动态数组,用于存储0~下标天内的最大差值一个临时数minprice记录0~i下标天内出现的最小数class Solution { public int maxProfit(int[] pri...
2018-10-19 21:01:10 136
转载 639. average of levels in binary tree
考察BFS与DFSBFS代码:从根节点开始处理,在取得本层的数据平均值时同时使用队列记录下一层的节点数据,无需构建新的数据结构class Solution { public List<Double> averageOfLevels(TreeNode root) { List<Double> result = new ArrayList&l...
2018-10-11 11:58:34 117
原创 Java集合框架
操作collection的静态方法在工具类collections中 Collection(I) List(有重复值) ArrayList(非同) 性质 动态数组 初始容量10,容量检查快溢出时扩容(若明确插入元素数量,最好指定初始容量值,避免扩容操作浪费时间效率) 随机访问 LinkedList 双向链表 无法随机访问...
2018-10-09 19:38:24 94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人