leetcode笔记 168. Excel Sheet Column Title & 169. Majority Element

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;
    }
}
  1. 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;
	    }
    	
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值