
算法
算法学习
研不由衷
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数组10 有效的数独
请你判断一个9x9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用'.'表示。作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/x2f9gg/来源:力扣...转载 2021-07-30 22:01:44 · 235 阅读 · 0 评论 -
数组09 两数之和
自己做的超时,class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap(); for (int i = 0; i < nums.length; i++) { map.put(i, nums[i]); } int[] ints = new int[2];.原创 2021-06-09 23:03:57 · 111 阅读 · 0 评论 -
数组08 移动零
原创 2021-06-09 23:01:09 · 97 阅读 · 0 评论 -
数组07 加一
自己写的有点问题,太大的用不了 long a=0; for (int i = 0; i <digits.length; i++) { int k= digits.length-1-i; a+=(k==0)?digits[i]:(long) (Math.pow(10,k))*digits[i]; } a+=1; List<Integer> arr= new Arra...转载 2021-06-09 00:22:07 · 96 阅读 · 0 评论 -
数组06 两个数组的交集2
自己做出来了。HHH public static int[] intersect(int[] nums1, int[] nums2) { Map<Integer,Integer> map1 = returnMap(nums1); Map<Integer,Integer> map2 = returnMap(nums2); List<Integer> list = new ArrayList<Integer...原创 2021-06-08 20:48:42 · 349 阅读 · 0 评论 -
数组05 只出现一次的数字
自己解出来原创 2021-06-07 22:36:50 · 82 阅读 · 0 评论 -
数组04 存在重复元素
class Solution { public boolean containsDuplicate(int[] nums) { HashMap hashMap = new HashMap(); for (int i = 0; i < nums.length; i++) { Object put = hashMap.put(nums[i], nums[i]); if (put!=null) { return true; .原创 2021-06-07 22:32:52 · 91 阅读 · 0 评论 -
数组03 旋转数组
class Solution { public void rotate(int[] nums, int k) { int length = nums.length; int[] newNums = new int [length]; for (int i = 0; i < nums.length; i++) { newNums[i] = nums[i]; } for (int i = 0; i .原创 2021-06-07 22:27:56 · 80 阅读 · 0 评论 -
数组02 买卖股票的最佳时机 II
自己想不出参考大牛的答案正常的1,动态规划解决总结下就是,分 1持有 a买入 b 上次以买入无交易 2不持有 a卖出 b 上次已卖出无交易 public static int maxProfit(int[] prices) { if (prices == null || prices.length < 2) return 0; int length = p...原创 2021-06-06 10:37:00 · 90 阅读 · 0 评论 -
数组01删除排序数组中的重复项
//双指针解决public static int removeDuplicates1(int[] A) { //边界条件判断 if (A == null || A.length == 0)return 0; int left = 0; for (int right = 1; right < A.length; right++){ //如果左指针和右指针指向的值一样,说明有重复的, //这个时候,左指针不动,右指针继续往右移。如果他俩.原创 2021-06-06 08:02:01 · 169 阅读 · 2 评论