LinkedHashMap 概念非常不易 要另找時間再挑戰一次

程式小試身手 發表在 痞客邦 留言(0) 人氣()

有鑑於上一篇,有想到需要Hashmap,確實解答也是這麼用...
 

程式小試身手 發表在 痞客邦 留言(0) 人氣()

能否從wordDict字典拚出字串s
想法一:

程式小試身手 發表在 痞客邦 留言(0) 人氣()



Input: adjList = [[2,4],[1,3],[2,4],[1,3]]

程式小試身手 發表在 痞客邦 留言(0) 人氣()

我在mainfast.xml將Activity theme設定為NoActionBar
在Activity Java中定義了Toolbar 

程式小試身手 發表在 痞客邦 留言(0) 人氣()

原本想先排序再Point index,但建議解真的很好,先將原index值+1 再去陣列循環是否包含此值,
以 [100,4,200,1,3,2] 來說 3+1=4,陣列確實含4且連續

程式小試身手 發表在 痞客邦 留言(0) 人氣()

class Solution {
    public int[][] insert(int[][] intervals, int[] newInterval) {
        List<int[]> ans = new ArrayList<>();
        int[] toAdd = newInterval;
        /* [[1,3],[6,9]]->[2,5] */
        for (int i = 0; i < intervals.length; i ++) {
            /*1. No overlap and toAdd appears before current interval, add toAdd to result.*/
            if (intervals[i][0] > toAdd[1]) {//1>5,6>5,1>3,6>3
                ans.add(toAdd);//[2,5],[1,3]
                toAdd = intervals[i];//[1,3],[6,9]
            }
            /*2. Has overlap, update the toAdd to the merged interval.*/
            else if (intervals[i][1] >= toAdd[0])  
                toAdd = new int[] {Math.min(intervals[i][0], toAdd[0]), Math.max(intervals[i][1], toAdd[1]) };
            /*3. No overlap and toAdd appears after current interval, add current interval to result.*/
            else ans.add(intervals[i]); 
        }
        ans.add(toAdd);
        return ans.toArray(new int[ans.size()][2]);
    }
}

程式小試身手 發表在 痞客邦 留言(0) 人氣()

挑了一個比較好懂得解答
覺得多數題目先判斷是否有值

程式小試身手 發表在 痞客邦 留言(0) 人氣()

image
參考了這個網址 解決問題
https://blog.csdn.net/weixin_45625639/article/details/122288602

程式小試身手 發表在 痞客邦 留言(0) 人氣()

第一次想這題時方向不太對
class Solution {
    public List<Integer> spiralOrder(int[][] matrix) {
        //index[m] 走0~n.length-1格
        //index[m+1] 走 最後(n-1)
        //index[m+2] 走 n-1~ 0
        //回到index[m+1]走 0~n-2
        int m=matrix.length;
        int n=matrix[0].length;
        int i=0;
        int r_index=0;
        List<Integer> result= new ArrayList<Integer>();
        
        while(i<m){//>字型走法
           if(i==0){//第一列
              int j=0;
              while(j<n){
                 result.add(matrix[i][j++]);
              }
            }else if(i==m-1){//最後一列
              int j=n-1;
              while(j>=0){
                 result.add(matrix[i][j--]);
              }
            }else{//中間先走每一個matrix[i]最後一個index
               result.add(matrix[i][n-1]);
            }
            i++;
            r_index++;
        }
        //走中間每一個matrix[i]第一個index
        i=0;
        while(i<m&&m>2){
            if(i!=0&&i!=m-1){
                result.add(matrix[i][0]);
            }
            i++;
        }
        //....裡面的就要在循環一次>
        
        return result;
    }
}

程式小試身手 發表在 痞客邦 留言(0) 人氣()

第一個想法,暴力破解
class Solution {
    public double myPow(double x, int n) {
       int i=1;
       int round= Math.abs(n);//絕對值
       double result=0;
       result=x;
       while(i<round){
             result=x*result;
             i++;
            }
       if(n>0){
             return result;
       }else{
             return 1/result;
       }
    }
}

程式小試身手 發表在 痞客邦 留言(0) 人氣()

class Solution {
    public boolean isMatch(String str, String pattern) {
           int s = 0, p = 0, match = 0, starIdx = -1;            
        while (s < str.length()){
            // advancing both pointers
            if (p < pattern.length()  && (pattern.charAt(p) == '?' || str.charAt(s) == pattern.charAt(p))){
                s++;
                p++;
            }
            // * found, only advancing pattern pointer
            else if (p < pattern.length() && pattern.charAt(p) == '*'){
                starIdx = p;
                match = s;
                p++;
            }
           // last pattern pointer was *, advancing string pointer
            else if (starIdx != -1){
                p = starIdx + 1;
                match++;
                s = match;
            }
           //current pattern pointer is not star, last patter pointer was not *
          //characters do not match
            else return false;
        }
        
        //check for remaining characters in pattern
        while (p < pattern.length() && pattern.charAt(p) == '*')
            p++;
        
        return p == pattern.length();
    }
}

程式小試身手 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。