1. 程式人生 > >leetcode--尋找規律題,統計總數之類題目--待更

leetcode--尋找規律題,統計總數之類題目--待更

1. #621 task-scheduler

理解方案:類似印表機問題,容量為n,相同任務之間的間隔也為n

1)先統計每個任務的數量m[i], 統計相同任務數量最大為count

2)ans=(count-1)*(n+1),每兩個相同的任務之間間隔n+1個任務,共有(count-1)個這樣的間隔

3)有相同的最大的count值的char值之間還會存在一個間隔,所有當任務的數量==count時,ans++。

4) return max(ans,tasks.size())如果任務數大於上面的ans,說明此時任務的安排可之間安排,不存在上述的衝突情況,直接取任務數

實現:

class Solution {
public:
    int leastInterval(vector<char>& tasks, int n) {
        map<char,int>m;
        int count=0;
        for(char c:tasks)
        {       
            m[c]++;
            count=max(count,m[c]);
        }
        int ans=(count-1)*(n+1);
        for(auto p:m)
        {
            if(p.second==count)
                ans++;
        }
        return max((int)tasks.size(),ans);
    }
};

2.#461 Hamming Distance

統計1的個數,將兩個數先異或^,再統計1的個數

class Solution {
public:
    int hammingDistance(int x, int y) {
        int temp=x^y;
        int count=0;
        while(temp)
        {
            ++count;
            temp&=temp-1;
        }
        return count;
        
    }
};
3.#561 Array Partition I

分成n組,先排序,0,2,4等雙數位的數字相加為結果,這裡注意javascript排序注意為數字排序

function cmp(x,y)
{
    return x-y;
}
var arrayPairSum = function(nums) {
    nums.sort(cmp);
    var sum=0;
    for(var i=0;i<nums.length;++i){
        if(i%2==0)
            sum=sum+nums[i];
    }
    return sum;
};


相關推薦

leetcode--尋找規律統計總數之類題目--

1. #621 task-scheduler 理解方案:類似印表機問題,容量為n,相同任務之間的間隔也為n 1)先統計每個任務的數量m[i], 統計相同任務數量最大為count 2)ans=(count-1)*(n+1),每兩個相同的任務之間間隔n+1個任務,共有(cou

leetcode第62不同路徑python解答

一個機器人位於一個 m x n 網格的左上角 (起始點在下圖中標記為“Start” )。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記為“Finish”)。 問總共有多少條不同的路徑? 整體思路,利用動態規劃法解答,即p(m,n

leetcode第16最接近的三數之和python實現

題目解析 該題目和三數之和類似,不同點是target也會發生變化,解答基本思路是根據要求不斷變化target值,使其偏離原始target的程度越來越大,在此過程中檢測當前的target值是否可以由陣列中三數之和進行表示。 三數之和求法回顧 檢查陣列中是否存在三個

leetcode第7Reverse Integer

Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 Note: The input is assumed to be a

隨機出10道加法統計對的

package SWIFT; import java.awt.Toolkit; import java.util.Scanner; public class SWIFT { public static void main(String[] args

leetcode算法3:分組讓每個組的最小者相加之後和最大。想知道桶排序是怎麽樣的嗎?

get ons 表示 note stdlib.h 不為 ask include tor /* Given an array of 2n integers, your task is to group these integers into n pairs of intege

leetcode算法2: 合並兩個二叉樹。遞歸如何切入並保持清醒?

leetcode算法題2: 合並兩個二叉樹。遞歸 如何切入並保持清醒? /* Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees

1005:Number Sequence(hdu數學規律

his arch ear iostream tput ostream htm 數據 long Problem Description A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (

LeetCode第五:尋找最長回文子串

mpi flow Language 類型 gpg nrv 需要 cccccc cgo LeetCode第五題: 給定一個字符串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為 1000。 示例 1: 輸入: "babad" 輸出: "bab" 註意: "

每日一LeetCode 棧簡單集合496682,232,225,155,84420

496 下一個最大的元素方法1 :自己瞎寫的 沒有考慮到棧的特性class Solution:def nextGreaterElement(self, nums1, nums2): L=[] for i in nums1: k=nums2.index(i)

騰訊秋招web後臺方向筆試題第二尋找重要城市dfs解法。

問題描述:       小Q所在的王國有n個城市,城市之間有m條單向道路連線起來。對於一個城市v,從城市v出發可到達的城市數量為x,從某個城市出發可達到的城市v的城市數量為y,如果y>x,則城市v是一個重要城市(間接可達也算可以到達)。       小Q希望你能

leetcodemanacher演算法

下面是manacher演算法的實現程式碼: class Solution { public: string longestPalindrome(string s) { string out; string str1 = init(s); //使用輔助資

LeetCode第一求兩個數的和(python實現)

給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例: 給定 nums = [2, 7, 11, 15], target =

python3:LeetCode第一兩數之和

給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例: 給定 nums = [2, 7, 11, 15], target = 9 因為 nums[0] + nums[1] = 2 +

leetcode-1. Two Sum-簡單的演算法面試見到了嗎?

leetcode第一道題,很簡單大部分人應該能想到用map,而我只想到暴力,思維確實得到了鍛鍊。 Question: Given an array of integers, return indices of the two numbers such that

Mybatis分頁-利用Mybatis Generator外掛生成基於資料庫方言的分頁語句統計記錄總數

眾所周知,Mybatis本身沒有提供基於資料庫方言的分頁功能,而是基於JDBC的遊標分頁,很容易出現效能問題。網上有很多分頁的解決方案,不外乎是基於Mybatis本機的外掛機制,通過攔截Sql做分頁。但是在像Oracle這樣的資料庫上,攔截器生成的Sql語句沒有變數繫

leetcode筆記(832728344

832. 反轉影象題目:給定一個二進位制矩陣 A,我們想先水平翻轉影象,然後反轉影象並返回結果。水平翻轉圖片就是將圖片的每一行都進行翻轉,即逆序。例如,水平翻轉 [1, 1, 0] 的結果是 [0, 1, 1]。反轉圖片的意思是圖片中的 0 全部被 1 替換, 1 全部被 0

leetcode總結記錄備忘300

leetcode300,Longest Increasing Subsequence Given an unsorted array of integers, find the length of longest increasing subsequence. For

Python資料字典處理Excel統計總數畫出餅圖

     之前給大家分享了使用pyechats庫畫折線圖和柱狀圖,也是讀取Excel表格中資料來畫圖的,這裡我使用的是Python3;現在給大家分享使用matplotlib畫圖,也是讀取本地Excel表格中的資料來畫圖,但是這個我們採用資料字典,可以統計Excel中的資料。而

leetcode 第62 不同路徑 第63 不同路徑 II 第64最小路徑和(python解法)

leetcode 第62題 不同路徑, 第63題 不同路徑 II, 第64題,最小路徑和 (python解法) 問題解析 最近在寫動態規劃的題目,刷題時看到這三道題,覺得很有意思。這三題的內容基本差不多,可以看成時迷宮問題(但是要簡單的多,因為可以移動的方向只有兩個,向下或向右),所