随笔分类 - 算法
摘要:思路: 利用位运算 位运算前置知识: 1<<n : 把1左移n位 代码思路: 利用位运算将所有情况列出 当nums数组大小为3时,有以下八种情况 000,001,010, 011,100,101, 110,111 通过这些数我们就可以通过二进制模拟出所有情况 class Solution { pub
阅读全文
摘要:转载与:https://leetcode-cn.com/problems/wiggle-subsequence/solution/bai-dong-xu-lie-by-leetcode-solution-yh2m/ 思路: 每当我们选择一个元素作为摆动序列的一部分时,这个元素要么是上升的,要么是下降
阅读全文
摘要:解题思路 硬模拟 代码 class Solution { public boolean lemonadeChange(int[] bills) { HashMap<Integer, Integer> m = new HashMap<>(); m.put(5, 0); m.put(10, 0); m.
阅读全文
摘要:解题思路 利用两个队列来模拟循环队列 代码 class Solution { public String predictPartyVictory(String s) { Deque<Integer> r = new ArrayDeque<>(); Deque<Integer> d = new Arr
阅读全文
摘要:冒泡排序(\(n^2\)) 冒泡排序(Bubble Sort)是排序算法里面比较简单的一个排序。它重复地走访要排序的数列,一次比较两个数据元素,如果顺序不对则进行交换,并一直重复这样的走访操作,直到没有要交换的数据元素为止。 代码实现 /** * 冒泡排序 * 从小到大 */ public clas
阅读全文
摘要:/** 思路:双指针算法,第一个两个指针之间维护一个字符串,保证其中没有相同字符 */ class Solution { public int lengthOfLongestSubstring(String s) { int Max = 0,j=0; Map<Character,Integer> m
阅读全文
摘要:/** 注意点:字符串比较是否相等使用equals函数,不要使用== Stack已经不被推荐使用,现在用Deque替代,双端队列 */ class Solution { public String simplifyPath(String path) { String[] str = path.spl
阅读全文

浙公网安备 33010602011771号