https://leetcode.com/problems/count-and-say/description/

My GitHub: Count And Say

**The***n*^{th}level result is from counting each digit of the result of (*n-1)*^{th}level.

Skip to content
#
Coding Interview

# Count and Say

# String to Integer (atoi)

# Using StringBuffer solve Reverse Integer problem

# leetcode- Rotate Image

# LeetCode – Plus One

# How to check if a string has all unique characters

# LeetCode – Two Sum II

# Array Implementation of Queue (Fixed size)

**Purpose:**

# Implement Queue using Stacks

https://leetcode.com/problems/count-and-say/description/

My GitHub: Count And Say

**The***n*^{th}level result is from counting each digit of the result of (*n-1)*^{th}level.

https://leetcode.com/problems/string-to-integer-atoi/description/

github:

Checking point:

- null or empty string
- white spaces
- +/- sign
- calculate real value
- handle min & max

LeetCode: https://leetcode.com/problems/reverse-integer/description/

The below Solution 1 is the most popular solution we can find online.

But here is another way (Solution 2) to solve the problem with StringBuffer.

The Solution 2 is easier to understand and the code is cleaner.

Leetcode: https://leetcode.com/problems/rotate-image/description/

Giveninput matrix= [1,2,3], [4,5,6], [7,8,9] rotate the input matrixin-placesuch that it becomes: [7,4,1], [8,5,2], [9,6,3]

- (x, y), the affected point is

**(y, n – x – 1), (n – x – 1, n – y – 1), (n – y – 1, x)**, “n” is the size of the matrix.

**The rotate function=**

**(x, y) -> (y, n – x – 1) -> (n – x – 1, n – y – 1) -> (n – y – 1, x) -> (x, y).** - For the i th line, we start
**from (i, i)**( !! in for loop**j = i**)**, and ends at (i, n – 2 – i)**. - We only need process half of them.
**n/2**

Given a non-negative integer represented as a non-empty array of digits, plus one to the integer. You may assume the integer do not contain any leading zero, except the number 0 itself. The digits are stored such that the most significant digit is at the head of the list.

For example:

Q1.

int[] nums = {1,2,3,4};

int[] result = plusOne(nums);

the digits are in the result array are {1,2,3,5};

*GitHub:*

- Check if the string is an ASCII string.

There are many different solutions, I practiced with a HashSet. Time complexity: O (n).

Given an array of integers that is already ** sorted in ascending order**, find two numbers such that they add up to a specific target number.

**CheckPoint:** if (numbers != null && numbers.length > 1) {throw new IllegalArgumentException(“No solution!”);}

*github:arrayQueue.java. *

reuse a fixed size array. —-> Tracking 2 variables frontIndex for deletion and rearIndex for insertion.

*github: ImplementQueueusingStacks.java*

Using 2 stacks- s1 and s2 to implement a queue.

**Purpose: keep the input on the bottom of s1**

Continue reading