日記20200623

2020年06月23日

数组

  1. 优秀代码参考
ID题目大致内容解题思想注意点
59螺旋矩阵 II使用和题54的思想就行只不过是在每次遍历时赋值即可,不过需要注意的是,遍历时的条件需要加上num<=n*n, 即赋值的数不能超过给定值n的平方
73矩阵置零遍历原始矩阵,如果发现如果某个元素 cell[i][j] 为 0,我们将第 i 行和第 j 列的所有非零元素设成很大的负虚拟值(比如说 -1000000),最后,我们便利整个矩阵将所有等于虚拟值的元素设为 0。
74搜索二维矩阵二分查找。中间序号: pivot_idx = (left + right) / 2。该序号对应于原矩阵中的 row = pivot_idx / n行 ,col = pivot_idx % n 列, 由此可以拿到中间元素pivot_element。该元素将虚数组分为两部分。进一步查找即可
80删除排序数组中的重复项 II和题26类似,就是注意指针运动条件,因为是一个元素若出现2次以上,则只保留2次,其余删除,后面元素往前移,所以判断条件为int index = k - 1; if(nums[i] != nums[index-k+1]){ index++;nums[index] = nums[i];}
81搜索旋转排序数组 II和题33一致,需要注意的是当前数组有重复元素,所以需要加个判断,当重复元素时跳过if (nums[lo] == nums[mid]) {lo++;continue;}

常用方法积累

类名方法名解释
ArrayListindexOf(value)返回value值对应的索引值,
ArrayListcopyOfRange(T[ ] original,int from,int to)将原数组original,从下标from开始复制,复制到上标to,生成一个新的数组。
ArrayListans.get(i).append©名为ans的ArrayList对象拿出索引i处的元素,并在其后追加一个字符或数字c。注意不是[index]
HashMapgetOrDefault(Object key, V defaultValue)当Map集合中有这个key时,就使用对应的value值,如果没有就使用默认值defaultValue
MapentrySet()获取所有key和value,遍历的时候用,例子:for (Map.Entry<String, String> entry : map.entrySet()) {System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());}
IntegertoBinaryString(num)返回num整数的二进制字符串表达
IntegertoHexString(num)返回num整数的十六进制字符串表达
IntegerbitCount(num)返回num整数的二进制表达式中1的个数
CharactertoLowerCase©返回c的字母小写形式
CharactertoUpperCase©返回c的字母大写形式
CharacterisLetter©判断c是否为字母
Stringformat(patten,num)格式化字符串,比如format("%d:%02d",1,2),输出结果为1:02
StringsubString(start,end)含start,不含end
StringBuilderdeleteCharAt(index删除索引所在处的字符
Arraysfill(Object[] a, Object val)再数组a中把所有值都填充为val
Arraysequals(s1,s2)比较两个数组元素是否相同
ArraysasList(s1,…,sn)将一个数组s1,…,sn转换为 List.注意,数组元素不能是原生数据类型(int,long等),要用其包装类Integer等
Arraysset(index,element)修改列表中的值。(index指定下标,element指定要修改后元素的值)
SystemarrayCopy(Object src, int srcPos, Object dest, int destPos, int length)Object src : 原数组; int srcPos:从元数据的起始位置开始; Object dest:目标数组; int destPos:目标数组的开始起始位置; int length:要copy的数组的长度
TreeSetfloor(E e)返回在这个集合中小于或者等于给定元素的最大元素,如果不存在这样的元素,返回null.
TreeSetceiling(E e)返回在这个集合中大于或者等于给定元素的最小元素,如果不存在这样的元素,返回null.

参考

  1. leetcode-官方
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值