leetcode刷题21天
168. Excel Sheet Column Title
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
...
Example 1:
Input: 1
Output: “A”
Example 2:
Input: 28
Output: “AB”
Example 3:
Input: 701
Output: “ZY”
代码:
class Solution {
public String convertToTitle(int n) {
String res="";
while(n>0) {
System.out.println((n-1)%26);
res = (char)((int)'A'+(n-1)%26)+res;
n = (n-1)/26;
}
return res;
}
}
- Majority Element
Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.
You may assume that the array is non-empty and the majority element always exist in the array.
Example 1:
Input: [3,2,3]
Output: 3
Example 2:
Input: [2,2,1,1,1,2,2]
Output: 2
为了试试分治法,运行时间比较慢
代码:
class Solution {
public static int majorityElement(int[] nums) {
return majorityElement2(nums,0,nums.length-1);
}
public static int majorityElement2(int[] nums,int start,int end) {
if(start==end)
return nums[start];
int l,r;
if(end-start==1)
{
l = nums[start];
r = nums[end];
}
else {
int mid = (start + end)/2;
l = majorityElement2(nums,start,mid);
r = majorityElement2(nums,mid,end);
}
if(l==r)
return l;
else {
int countl = 0,countr = 0;
for(int i = 0;i<nums.length;i++) {
if(nums[i]==l)
countl++;
if(nums[i]==r)
countr++;
}
//System.out.println(l);
return countl>countr?l:r;
}
}
}