Leetcode刷题
清灵菲儿
这个作者很懒,什么都没留下…
展开
-
Lleetcode刷题(169求众数 三种解法)
解法一:【解题思路】查找计数问题,从第一个数开始count=1,遇到相同的就加1,遇到不同的就减1,减到0就重新换个数开始计数,总能找到最多的那个。和摩尔投票法很像,这个是换个数重新计数,需要遍历多次;而摩尔投票法只要遍历一次。稍后会介绍。【代码实现】class Solution { public int majorityElement(int[] nums) { ...原创 2019-12-18 15:57:08 · 286 阅读 · 0 评论 -
LeetCode刷题(905,766)
【题目要求】【解题思路】本题是排序题,需要循环,判断比较,交换。题目要求偶数在前,奇数在后,那么我选择采取双指针的方法:左指针寻找奇数值,右指针寻找偶数值,当符合交换条件时,进行两数交换;否则指针继续左右运动,寻找符合条件的奇偶值。当两指针相遇时,结束循环【代码实现】public int[] sortArrayByParity(int[] A) { if(A ==...原创 2019-12-18 09:23:35 · 86 阅读 · 0 评论 -
LeetCode 628、969、118
【题目分析】1.当数组长度为3,那么直接把三个数都取过来2.当数组中没有正数、最大值一定为负数。此时最大值为最大的三个负数的积3.当数组长度大于等于4,而且至少存在一个正数,最大值一定为正数。(此时能够保证,剩下的个数里,至少存在两个负数或两个正数)要想结果为正数,我们最少要使用一个正数,那么最大的正数肯定要参与运算。然后要使得剩下的两个数的积最大,要么我们就取次大的两个数,要么就取最小...原创 2019-11-26 17:06:20 · 120 阅读 · 0 评论 -
LeetCode1122数组的相对排序
【题目分析】该题就是计数排序的变种class Solution { public int[] relativeSortArray(int[] arr1, int[] arr2) { //找最大值和最小值 int min = arr1[0], max = arr1[0]; int i = 1; for(; i < a...原创 2019-11-27 09:50:12 · 90 阅读 · 0 评论