原创 leedcode 括號生成

題目描述 題目鏈接leedcode22 給出 n 代表生成括號的對數,請你寫出一個函數,使其能夠生成所有可能的並且有效的括號組合。 例如,給出 n = 3,生成結果爲: [ "((()))", "(()())", "(())

原创 計算後綴表達式的值

題目描述 我們經常遇到的數學計算表達式如:(2+1)*3,成爲中綴表達式,這種表達式對於我們來說很容易理解,但是計算機容易理解的形式卻是後綴表達式,即,將運算符寫在兩個運算符的後面,如上述中綴表達式的後綴表達式爲:21+3*。計算機計算後

原创 排序算法之-------選擇排序

選擇排序 基本思想: 每一趟排序(例如第 i 趟)在後面待排序元素中選取關鍵字最小的元素,作爲有序子序列的第 i 個元素,直到 n-1趟做完。 (即從頭到尾順序比較元素,找出最小的一個元素,和第一個元素交換;接着從剩下的記錄中繼續這樣的操

原创 排序算法之-------歸併排序

歸併排序 Java代碼實現如下 public class MergeSort_correct { // sort()功能是將前後相鄰的兩個有序表,歸併爲一個有序表的方法 public static void sort(

原创 排序算法之-------計數排序

Counting sort is a sorting technique based on keys between a specific range. It works by counting the number of objects

原创 (Java實現)完美立方 a^3 = b^3 + c ^3 + d^3

題目描述: 形如a^3 = b ^3 + c ^3 + d ^3的等式被稱爲完美立方等式,例如12 ^ 3=6 ^ 3+8 ^ 3 + 10 ^3 . 編寫一個程序,對任給的正整數N(N<=100),尋找所有的四元組(a,b,c,d),

原创 (Java實現)動態規劃:求最長公共子序列

 問題: 有兩個字符串str和str2,求出兩個字符串中最長公共子串長度。 比如:str=acbcbcef,str2=abcbced,則str和str2的最長公共子串爲bcbce,最長公共子串長度爲5。 算法思路: 1、把兩個字符串分別以

原创 求所有連續的遞增(+1)的正整數序列,使得其和爲 Num

題目描述 題目鏈接 給定一個正整數Num,請輸出所有連續的遞增的正整數序列,使得其和爲 Num。若不存在則輸出NULL。 根據要求完成編碼,提供main函數,要求考慮編碼可讀性和性能。 樣例輸入: 90 樣例輸出: [2,3,4,5,

原创 劍指Offer:刪除鏈表中重複的元素(重複元素不保留),leetcode:刪除鏈表中重複的元素(重複元素保留一個)

題目描述 在一個排序的鏈表中,存在重複的結點,請刪除該鏈表中重複的結點,重複的結點不保留,返回鏈表頭指針。 例如,鏈表1->2->3->3->4->4->5 處理後爲 1->2->5 鏈表1->1->1->1->2->4->5,處理後爲 

原创 無序數組轉成有序數組的最少交換次數

import java.util.*; public class Main_leastSwapTimes { public static void main(String[] args) { int[]

原创 判斷字符串是否由子串拼接而成

題目描述 給出一個非空的字符串,判斷這個字符串是否是由它的一個子串進行多次首尾拼接構成的。 例如,"abcabcabc"滿足條件,因爲它是由"abc"首尾拼接而成的,而"abcab"則不滿足條件,輸出false。 輸入描述: abcab

原创 劍指Offer:最小的K個數

題目描述 輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,。 思路1:先排序,然後選擇前K個數輸出。(注意:這裏作弊地用了Java自帶的排序方法Arrays.sort

原创 2020中國電信校招編程題

第一題:括號匹配問題 問題描述:輸入一行字符串,判斷字符串是否匹配。匹配則輸出yes,不匹配則輸出no。 輸入: {[()]} 輸出: yes 輸入: {[(])} 輸出: no 思路: 在遍歷字符串時, 遇到左括號則入棧; 遇

原创 劍指Offer:左旋轉字符串

題目描述 彙編語言中有一種移位指令叫做循環左移(ROL),現在有個簡單的任務,就是用字符串模擬這個指令的運算結果。對於一個給定的字符序列S,請你把其循環左移K位後的序列輸出。例如,字符序列S=”abcXYZdef”,要求輸出循環左移3位後

原创 猴子分桃子問題(Java實現)

題目描述 海灘上有一堆桃子,五隻猴子來分。第一隻猴子把這堆桃子憑據分爲五份,多了一個, 這隻猴子把多的一個扔入海中,拿走了一份。第二隻猴子把剩下的桃子又平均分成五份,又 多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五隻猴